Android TableLayout宽度问题

时间:2011-01-07 07:07:53

标签: android android-layout android-tablelayout

我正在使用TableLayout来显示数据。 当活动调用onCreate()时,将设置右列TextView的文本。

现在,正如您在下图中看到的那样,我的地址文本可以很长并且应该被包装。 所以我设置了android:layout_width="wrap_content"。但它仍然需要一个宽度的屏幕大小来包装数据。 我怎样才能克服这个问题?

alt text

我的xml:

<?xml version="1.0" encoding="utf-8"?>
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:padding="5px">
    <TableRow>
        <TextView android:text="Job#"
            android:paddingRight="5px" />
        <TextView android:id="@+id/DetailJobNo" />
    </TableRow>
    <TableRow>
        <TextView android:text="Address"
            android:paddingRight="5px" />
        <TextView android:id="@+id/DetailAddress"
            android:layout_width="wrap_content"
            android:text="Address Address Address Address Address Address Address Address "/>
    </TableRow>
</TableLayout>

3 个答案:

答案 0 :(得分:6)

向TableLayout添加android:shrinkColumns="1"解决了我的问题。

答案 1 :(得分:0)

您可以尝试将setHorizontallyScrolling设置为DetailAdress TextView为false吗?

答案 2 :(得分:0)

@Vikas,你解决了问题的好处。

BUt我仍然建议使用Horizo​​ntalScrollView来保证安全。如果所有少数字符都不可见,那么水平滚动条将有助于管理它。 XML文本:

<HorizontalScrollView android:layout_width="fill_parent" 
    android:layout_height="wrap_content"
    android:layout_marginTop="10dp" android:layout_marginBottom="10dp" >

<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"   
android:layout_width="fill_parent"   
android:layout_height="fill_parent"   
android:padding="5px">   
  ......
  ......
  ADD YOUR ROWS 
 </TableLayout>       
</HorizontalScrollView>

总是更好地照顾意外。