Android TableRow TextView在右侧不可见

时间:2014-11-26 07:14:37

标签: android textview android-tablelayout gravity layout-gravity

我有一个表,用于显示名称后跟值。名称应显示在行的左侧,值显示在右侧。这是一个例子:

table example

这是我的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"无法解决此问题。

4 个答案:

答案 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>