0

实际上,我试图通过尝试在按钮单击时调整 ImageButton 的大小来实现不同的缩放,因为我的布局仅包含 ImageButtons。但我面临的问题是按钮在 TableRow 中被充气,而 TableRow 在 TableLayout 中被充气。

LAYOUT1.xml

<HorizontalScrollView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/TabScrollView" >

        <ScrollView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content" >

            <RelativeLayout
                android:id="@+id/RelativeLayoutTable"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_below="@+id/TabScrollView"
                android:background="@drawable/blackbackground" >

                <TableLayout
                    android:id="@+id/elementTable"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:layout_x="2dp"
                    android:layout_y="2dp"
                    android:orientation="horizontal" >
                </TableLayout>


                </TableLayout>
            </RelativeLayout>
        </ScrollView>
    </HorizontalScrollView>

LAYOUT2.xml

<?xml version="1.0" encoding="utf-8"?>
<TableRow xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/elementRow"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal" >

</TableRow>

LAYOUT3.xml

<?xml version="1.0" encoding="utf-8"?>
<ImageButton xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/elementImage"
android:layout_width="100px"
android:layout_height="100px"
android:background="@null"
android:onClick="onClick"
android:padding="3dip"
android:scaleType="fitXY" />

我尝试使用此代码

ImageButton ib =(ImageButton)findviewbyId(R.id.elementImage);
LinearLayout.LayoutParams layoutParams = new LinearLayout.LayoutParams(width, height);
ib.setLayoutParams(layoutParams);

按钮大小保持与图像大小相同。

4

1 回答 1

0

在设置布局参数后尝试调用invalidate() 。

于 2012-04-08T07:55:30.027 回答