尽管使用了 ellipsize 属性,但 TextView 在 TableLayout 中不会被截断

发布于 2024-12-19 08:15:29 字数 1349 浏览 1 评论 0原文

我用于在应用程序中显示通信数据的表格布局存在一些问题。问题是通信数据的值可能比可用宽度长,因此文本被截断,看起来不太好。

在此处输入图像描述

为了解决这个问题,我在谷歌上搜索了一下,发现了几个建议使用 shr​​inkColumns 的解决方案TableLayout 上的 属性和 TextView 上的 android:ellipsize 应该被截断。

这是表的 xml 表

...
    <TableLayout android:id="@+id/table" 
    android:layout_height="wrap_content" 
    android:layout_width="fill_parent"
    android:shrinkColumns="1"/> 
...

的行在运行时使用以下行布局进行膨胀。

   <TableRow xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_height="wrap_content" android:layout_width="fill_parent">
        <TextView android:id="@+id/type_column_text"
           android:layout_width="fill_parent"       
           android:layout_height="wrap_content"
           android:inputType="text"
           android:maxLines="1"
           android:ellipsize="end"/>
        <TextView android:id="@+id/value_column_text" 
           android:layout_width="fill_parent"       
           android:layout_height="wrap_content"
           android:inputType="text"
           android:maxLines="1"
           android:ellipsize="end"
           android:autoLink="all" />
    </TableRow>

我不知道我做错了什么,但这让我发疯。有什么建议如何解决这个问题或如何找到它不起作用的原因吗?

I've got some problems with a table layout I used to show communication data within an app. The problem is that the value of the communication data may be longer than the available width so the text got cut off what doesn't look very nice.

enter image description here

To solve this issue I googled a little bit and found several solutions that advise to use the shrinkColumns attribute on the TableLayout and the android:ellipsize on the TextView that should get truncated.

This is the xml for the table

...
    <TableLayout android:id="@+id/table" 
    android:layout_height="wrap_content" 
    android:layout_width="fill_parent"
    android:shrinkColumns="1"/> 
...

The rows of the table get inflated on runtime using following row layout.

   <TableRow xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_height="wrap_content" android:layout_width="fill_parent">
        <TextView android:id="@+id/type_column_text"
           android:layout_width="fill_parent"       
           android:layout_height="wrap_content"
           android:inputType="text"
           android:maxLines="1"
           android:ellipsize="end"/>
        <TextView android:id="@+id/value_column_text" 
           android:layout_width="fill_parent"       
           android:layout_height="wrap_content"
           android:inputType="text"
           android:maxLines="1"
           android:ellipsize="end"
           android:autoLink="all" />
    </TableRow>

I don't know what I'm doing wrong but this drives me insane. Any suggestion how to solve this or how to find the reason why it doesn't work?

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

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

发布评论

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

评论(1

马蹄踏│碎落叶 2024-12-26 08:15:29

删除下面一行:

android:inputType="text"

那么你应该得到省略号。

Remove the line that says:

android:inputType="text"

Then you should get ellipses.

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