2011-08-26 56 views
1

我在表格布局中有几个文本编辑。使用较小的值时,TextEdits会伸展到屏幕的边缘。但是,较大的值会导致TextEdit扩展到屏幕边缘。我如何始终将文本宽度保持在屏幕边缘?Android TextEdit在填充大量数字时扩展过去的屏幕边缘

<TableLayout android:layout_height="wrap_content" android:layout_width="wrap_content" android:stretchColumns="1"> 
     <TableRow android:baselineAligned="true" android:layout_height="wrap_content" android:gravity="center_vertical" android:layout_width="wrap_content"> 
      <TextView android:id="@+id/textView4" android:layout_height="wrap_content" android:text="Perm:" style="@style/PlainText" android:layout_width="wrap_content"></TextView> 
      <EditText android:id="@+id/f" android:hint="0" android:scrollHorizontally="true"></EditText> 
     </TableRow> 
     <TableRow android:layout_height="wrap_content" android:layout_width="wrap_content"> 
      <TextView android:layout_width="wrap_content" android:layout_marginLeft="5dip" android:layout_height="wrap_content" style="@style/PlainText" android:id="@+id/textView5" android:text="w/ repetition:" android:gravity="right"></TextView> 
      <EditText android:id="@+id/e" android:hint="0" android:scrollHorizontally="true"></EditText> 
     </TableRow> 
     <TableRow android:layout_height="wrap_content" android:gravity="center_vertical" android:layout_width="wrap_content"> 
      <TextView android:id="@+id/TextView01" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Combinations:" style="@style/PlainText"></TextView> 
      <EditText android:id="@+id/d" android:hint="0" android:scrollHorizontally="true"></EditText> 
     </TableRow> 
     <TableRow android:layout_height="wrap_content" android:layout_width="wrap_content"> 
      <TextView android:layout_width="wrap_content" android:layout_marginLeft="5dip" android:layout_height="wrap_content" style="@style/PlainText" android:id="@+id/textView6" android:text="w/ repetition:" android:gravity="right"></TextView> 
      <EditText android:id="@+id/c" android:hint="0" android:scrollHorizontally="true"></EditText> 
     </TableRow> 
     <TableRow android:layout_height="wrap_content" android:gravity="center_vertical" android:layout_width="wrap_content"> 
      <TextView android:id="@+id/TextView03" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="# of subsets:" style="@style/PlainText"></TextView> 
      <EditText android:id="@+id/b" android:hint="0" android:scrollHorizontally="true"></EditText> 
     </TableRow> 
     <TableRow android:layout_height="wrap_content" android:gravity="center_vertical" android:layout_width="wrap_content"> 
      <TextView android:id="@+id/TextView04" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Pigeonhole:" style="@style/PlainText"></TextView> 
      <EditText android:id="@+id/z" android:hint="0" android:scrollHorizontally="true"></EditText> 
     </TableRow> 
    </TableLayout> 

回答

0

这样的事情可以将用户输入的字母数限制在编辑文本中。

android:maxLength="10" 

这将限制字符溢出。

我注意到一些是数字字段。所以使用

android:inputType="number" 

或任何其他匹配选项。

UPDATE

这样的事情会拉伸选定列占用的剩余空间

<TableLayout xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="fill_parent" 
    android:layout_height="fill_parent" 
    android:stretchColumns="1"> 
    <TableRow> 
     <TextView 
      android:layout_column="1" 
      android:text="Open..." 
      android:padding="3dip" /> 
     <TextView 
      android:text="Ctrl-O" 
      android:gravity="right" 
      android:padding="3dip" /> 
    </TableRow> 
</TableLayout> 

检查此链接了解更多信息

http://developer.android.com/resources/tutorials/views/hello-tablelayout.html

+0

我已经想过这个想法的,但实际上我宁愿它总是转到屏幕的边缘,无论屏幕大小或方向。输入类型不是什么大不了的,最好是我宁愿他们只是能够复制,而不是真正将值输入到这个编辑文本中,但这不是什么大不了的。 –

+0

你可以更清楚你想要什么 – Samuel

+0

基本上,我有一个EditText,我想调整大小以适应内容,但不能越过屏幕边缘。因此,基本上在风景或者肖像中,它会根据需要变大,直到它碰到屏幕边缘,然后停下来,让您滚动文本而不是增长。或者,我也可以将它始终作为屏幕上剩余空间的长度,而不管方向如何。 –