我有两个问题:
1) 我有几个TextView以这种方式创建
<TextView
android:id="@+id/listaNumeriTextView"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:background="#CCCCCC"
android:gravity="center"/>
当我调用setText()时,TextView的大小会根据文本的长度而变化。我试图调用invalidate()但我仍然有同样的问题。我该如何解决?
2)我想我可以根据屏幕尺寸设置TextView的宽度。例如,如果我在同一行上有2个TextView,我可以执行此textViewSize = screenSize / 2。 这是设置视图宽度的正确方法吗?
答案 0 :(得分:2)
1)对第一个问题的回复:
你可以使用特定width
代替TextView
代替wrap_content
(如果你想将它限制为x尺寸,那么高度也是如此):
<TextView
android:id="@+id/listaNumeriTextView"
android:layout_width="140dp"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:background="#CCCCCC"
android:gravity="center"/>
2)对第二个问题的回应:
您可以使用android:layout_weight
指定两个TextViews
都应占用屏幕尺寸的一半,如下所示:
<LinearLayout bla bla
bla bla bla
android:orientation="horizontal"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<TextView
android:id="@+id/txtView1"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:background="#CCCCCC"
android:text="TextView 1"/>
<TextView
android:id="@+id/txtView2"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_weight="1"
android:background="#CCCCCC"
android:gravity="center"
android:text="TextView 1"/>
</LinearLayout>
答案 1 :(得分:0)
试试此代码
LayoutParams params = aboutmetxt.getLayoutParams();
params.width = 100;
aboutmetxt.setLayoutParams(params);
我用它来设置高度
答案 2 :(得分:0)
<TextView
android:id="@+id/listaNumeriTextView"
android:layout_width="XXX"
android:layout_height="wrap_content"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:background="#CCCCCC"
android:gravity="center"/>
XXX指定要保留的宽度。这将是不变的。 例如:100dp