我想在左侧填充一个填充空间的TextView,在右侧添加右对齐的TextView。我已尝试摆弄引力,layout_gravity,并制作第二个TextView fill_parent,但第二个TextView总是不可见,只要第一个是fill_parent。我注意到如果LinearLayout是垂直的,会出现同样的问题。怎么办?
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:gravity="fill_horizontal"
android:orientation="horizontal" >
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Left Side"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Right side"
android:background="#ff606060"/>
</LinearLayout>
目标:Android 2.2
答案 0 :(得分:5)
我认为这就是你想要的。 如果您不希望它包装文本,您还可以将singleLine(和ellipsize)添加到左侧视图。
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:layout_width="0dp"
android:layout_height="wrap_content"
android:text="Left Side"
android:layout_weight="1"
/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Right side"
/>
</LinearLayout>
答案 1 :(得分:1)
使用layout_weight
并在layout_width
上将0dp
设置为TextView
。
因此,在第一个TextView上将权重设置为3,然后在第二个上设置为1,例如/
答案 2 :(得分:1)
为什么不使用RelativeLayout?
将右对齐TextView设置为layout_alignParentRight,然后将填充空格的另一个设置为layout_alignParentLeft,将layout_toLeftOf设置为右对齐TextView