4

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

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

替代文字

我的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>
4

3 回答 3

6

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

于 2011-01-07T07:30:03.000 回答
0

您可以尝试将 TextView 的 setHorizo​​ntallyScrolling 设置为falseDetailAdress吗?

于 2011-01-07T07:30:49.187 回答
0

@Vikas,您解决了问题真是太好了。

但是出于安全目的,我仍然建议使用 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>

它总是更好地照顾意外。

于 2012-02-03T12:11:07.993 回答