我有一个ListView,它使用自定义适配器来显示数据行。每行包含两个TextView;一个是左对齐的,一个是右对齐的。
理想情况下,我想要的是每个TextView最多占用行宽度的一半。我使用以下行xml布局完成了这个:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<TextView
android:id="@+id/description"
style="@style/ProductSpecNameFont"
android:layout_width="fill_parent"
android:layout_gravity="left"
android:layout_weight="1"
android:padding="@dimen/margin_sides"
android:text="Display Size" />
<RelativeLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="1" >
<TextView
android:id="@+id/value"
style="@style/ProductSpecValueFont"
android:layout_alignParentRight="true"
android:padding="@dimen/margin_sides"
android:text="3.5 Inches" />
</RelativeLayout>
这“几乎”完美无缺。问题是在右侧TextView上包含文本的行占用多行是不正确的。如我所愿,单行行是右对齐的。这是我正在谈论的截图:
为什么多行TextViews没有右对齐,我怎么能这样做呢?
答案 0 :(得分:3)
尝试设置TextView的重力。看起来发生的是TextView与右边对齐,但文本本身是左对齐的。
android:gravity="right"
答案 1 :(得分:0)
尝试在LinearLayout上使用android:weightSum。像这样:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:weightSum="1.0">
<TextView
android:id="@+id/description"
style="@style/ProductSpecNameFont"
android:layout_width="fill_parent"
android:layout_gravity="left"
android:layout_weight="0.5"
android:padding="@dimen/margin_sides"
android:text="Display Size" />
<RelativeLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="0.5" >
<TextView
android:id="@+id/value"
style="@style/ProductSpecValueFont"
android:layout_alignParentRight="true"
android:padding="@dimen/margin_sides"
android:text="3.5 Inches" />
</RelativeLayout>