我在表格布局中有几个文本编辑。使用较小的值时,TextEdits会延伸到屏幕边缘。但是,较大的值会导致TextEdits超出屏幕边缘。如何始终将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 :(得分:1)
答案最终是android:shrinkColumns(#,#),而不是硬编码大小。来自@ akand074的评论在答案评论中。我找到了这个链接,解释了为什么以及如何工作:
答案 1 :(得分:0)
这样的事情可以限制用户输入字母到编辑文本中的数量。
android:maxLength="10"
这将限制字符的溢出。
我发现有些是数字字段。所以使用
android:inputType="number"
或任何其他匹配选项。
<强>更新强>
这样的东西会拉伸所选列以占用剩余空间
<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