我有一个简单的布局,包含两个ImageView之间的TextView。
当我在运行时使用'setText()'更改TextView时,它会发生变化,但它会失去“center_horizontal”重力,并且会在线性布局的顶部绘制。
如何在“setText()”后面的“center_horizontal”重力下绘制TextView?
</RelativeLayout
android:id="@+id/rl1"
style="@style/style1"
android:layout_width="fill_parent"
android:orientation="horizontal" >
...
<LinearLayout
android:id="@+id/ll1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_centerVertical="true"
android:layout_margin="5dp"
android:background="@drawable/frame"
android:orientation="horizontal" >
<ImageView
android:id="@+id/iv2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="3dp"
android:src="@drawable/icon" />
<TextView
android:id="@+id/tv1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:text="0"
android:textColor="@drawable/white" />
<ImageView
android:id="@+id/iv1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="3dp"
android:src="@drawable/icon" />
</LinearLayout>
...
</RelativeLayout>
谢谢!
答案 0 :(得分:2)
setText
方法通常不会影响布局排序。
我目前只能想到一个可能的问题:
您的设置文本非常长或非常短,当您将尺寸指定为“wrap_content”时,textview的宽度和高度将与新内容对齐。这导致新的布局合并。
要解决此问题,您可以执行以下操作:
<TextView
android:id="@+id/tv1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:gravity="center_horizontal"
android:text="0"
android:textColor="@drawable/white" />