我有一个表,用于显示名称后跟值。名称应显示在行的左侧,值显示在右侧。这是一个例子:
这是我的XML
代码:
<TableRow>
<TextView android:id="@+id/property_type_label"
android:text="@string/property_type_label"
android:padding="3dip" />
<TextView android:id="@+id/property_type"
android:text="@string/property_type"
android:gravity="right"
android:padding="3dip" />
</TableRow>
<View
android:layout_height="2dip"
android:background="#FF909090" />
</TableLayout>
问题在于我无法查看与辅助TextView
TableRow
相关联的字符串。理想情况下,存在一个不涉及大量手动padding
的解决方案。此外,android:layout_gravity="right"
无法解决此问题。
答案 0 :(得分:1)
在文本视图中使用layout_weight。尝试此
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >
<TableRow>
<TextView android:id="@+id/property_type_label"
android:text="@string/property_type_label"
android:layout_weight="1" />
<TextView android:id="@+id/property_type"
android:text="@string/property_type"
android:layout_weight="1"
/>
</TableRow>
<View
android:layout_height="2dip"
android:background="#FF909090" />
</TableLayout>
希望这个答案对你朋友有帮助:))
答案 1 :(得分:1)
将身高和宽度添加到 TableRow 并使用权重,类似:
<TableRow android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView android:id="@+id/property_type_label"
android:text="@string/property_type_label"
android:padding="3dip" android:layout_weight="1"/>
<TextView android:id="@+id/property_type"
android:text="@string/property_type"
android:gravity="right"
android:padding="3dip" android:layout_weight="1"/>
</TableRow>
答案 2 :(得分:1)
尝试使用重量来设置左右内容:
<TableRow>
<TextView
android:layout_width="0dp"
android:layout_weight="1"
android:layout_height="wrap_content"
android:id="@+id/property_type_label"
android:text="@string/property_type_label"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/property_type"
android:text="@string/property_type"/>
</TableRow>
答案 3 :(得分:1)
使用TextView的重力而不是layout_gravity和weight来分配每个TextView的布局的一半
<TableRow>
<TextView android:id="@+id/property_type_label"
android:text="@string/property_type_label"
android:padding="3dip"
android:layout_weight="1"
android:gravity="left" />
<TextView android:id="@+id/property_type"
android:text="@string/property_type"
android:layout_weight="1"
android:gravity="right"/>
</TableRow>