gpt4 book ai didi

android - 表格布局上的按钮缩放

转载 作者:行者123 更新时间:2023-11-30 02:46:17 25 4
gpt4 key购买 nike

我在父 ScrollView 和水平 ScrollView 中有一个动态生成的表格布局表行。

我想在此表格布局上实现按钮缩放或双指缩放。怎么做?两者中任何一个更容易实现都可以。

<HorizontalScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:padding="10dp" android:layout_width="match_parent"
android:layout_height="match_parent">

<ScrollView android:layout_below="@+id/tableHeader"
android:layout_width="match_parent" android:layout_height="match_parent"
android:id="@+id/scrollZoomView">

<TableLayout android:stretchColumns="0,1" android:id="@+id/main_table"
android:layout_height="wrap_content" android:layout_width="match_parent" />

</ScrollView>

</HorizontalScrollView>

编辑以添加 Java 代码:

    zoomIn.setOnClickListener(new OnClickListener(){

@Override
public void onClick(View arg0) {
zoom(2.0f, 2.0f, 0.0f, 0.0f);
}
});

zoomOut.setOnClickListener(new OnClickListener(){

@Override
public void onClick(View arg0) {
zoom(1.0f, 1.0f, 0.0f, 0.0f);
}
});

public void zoom(float scalex, float scaley, float pivotx, float pivoty){
sv.setScaleX(scalex);
sv.setScaleY(scaley);
sv.setPivotX(pivotx);
sv.setPivotY(pivoty);
sv.requestLayout();
}

我遇到的问题是滚动条的宽度和高度不会自行更新以适应放大的数据。例如表中有 100 行。现在放大后,我可以滚动到带有放大文本的第 80 行。当我缩小时,BAM!我看到正常尺寸的第 100 行。

我已经添加了

 sv.requestLayout();

也试过

 invalidate();

没有任何效果。

这里有什么问题?如何解决?

最佳答案

您是否尝试过更改 LayoutParams 的值? ?

TableLayout mainTableLayout = (TableLayout) findViewById(R.id.main_table);

zoomView(view, 1.5); // Zoom in to 150%
zoomView(view, 0.5); // Zoom out to 50%


function zoomView(View view, int zoomX){
ViewGroup.LayoutParams viewParams = view.getLayoutParams();
viewParams.width *= zoomX;
viewParams.height *= zoomX;
view.setLayoutParams(viewParams);
}

注意:这只会缩放您的 TableLayout,但您必须使子 View 流畅,以便它们根据父布局进行调整。

关于android - 表格布局上的按钮缩放,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24948976/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com