动态更改图像按钮的大小

时间:2012-04-07 07:44:35

标签: android android-layout resize runtime imagebutton

实际上我试图通过尝试在按钮点击时调整ImageButton的大小来尝试实现不同的放大,因为我的布局只包含ImageButtons。 但我面临的问题是TableRow中的按钮膨胀,TableLay中的TableRow进一步膨胀。

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);

按钮大小与图像大小保持一致。

1 个答案:

答案 0 :(得分:0)

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