Android TextEdit 在填充大量文本时会扩展到屏幕边缘

发布于 2024-12-01 15:04:03 字数 3187 浏览 0 评论 0原文

我在表格布局中有几个文本编辑。如果值较小,文本编辑会拉伸到屏幕边缘。但是,较大的值会导致文本编辑扩展到屏幕边缘之外。如何始终将文本编辑宽度保持在屏幕边缘?

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

I have several text edits in a table layout. With small values, the TextEdits stretch to the edge of the screen. However, large values cause the TextEdits to expand past the screen edge. How do I keep the textedit width to the screen edge at all times?

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

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

梦途 2024-12-08 15:04:03

答案最终是 android:shrinkColumns(#, #) 而不是硬编码大小。答案评论中来自 @akand074 的评论。我发现这个链接解释了为什么以及如何工作:

http://formingupwithandroid.blogspot.com/2010/01/how-does-tablelayout-handle-column.html#remindMeAgain

The answer ended up being android:shrinkColumns(#, #) rather than hard coding the size. comment from @akand074 in the answer comments. I found this link which explains why and how this works:

http://growingupwithandroid.blogspot.com/2010/01/how-does-tablelayout-handle-column.html#remindMeAgain

小女人ら 2024-12-08 15:04:03

类似这样的东西可以限制用户输入到编辑文本中的字母数量。

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

something like this can restrict the no of letters user input into the edit text.

android:maxLength="10"

this will restrict the over flow of characters.

i noticed some are numeric fields. so using

android:inputType="number"

or any other matching option.

UPDATE

something like this will stretch the selected column to take up the remaining space

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

check this link for more info

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

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文