0

我有一个TextView1、buttons1 和buttons2 水平。当 Button2 单击时,Button1 是不可见的。当 Button1 不可见时,我需要增加 textview 的宽度以覆盖 button1 不可见时创建的空间,反之亦然。可以请任何人帮助我如何动态更改 Textview 宽度。

注意:Textview tv.setWidth(pix) 不工作。当我试图找到 tv.getWidth() 的值时,总是为零。

4

3 回答 3

2

请尝试使用 GONE 而不是 INVISIBLE。使用 INVISIBLE 时,即使您看不到它,它仍然需要一个空间。

于 2012-09-02T06:20:09.350 回答
2

`

    <TextView
        android:layout_width="odp"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:text="@string/hello" />

    <Button
        android:id="@+id/btn1"
        android:layout_width="odp"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:text="@string/hello"
        android:visibility="visible" />

    <Button
        android:id="@+id/btn2"
        android:layout_width="odp"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:text="@string/hello" />
</LinearLayout>`you can use weight for three element and button1.setVisibility(View.GONE)
于 2012-09-02T06:22:44.787 回答
0

将您的小部件包装在 a 中RelativeLayout,然后检查。如果它是隐形的,您将能够将其置于您textview的之上。button如果您正在使用,则不能这样做,LinearLayout因为它水平或垂直设置小部件并且不重叠。

于 2012-09-02T06:42:13.667 回答