Android TextView SingleLine字段隐藏长文本

NFG*_*NFG 18 xml android word-wrap textview

我有一个TextView,它位于屏幕的左侧,设置为gravity ="right",并设置为SingleLine ="true".

如果有可能这个视图中的文本太长,我希望它只是从视图的左侧消失.我认为下面的配置会这样做,但实际发生的是长字符串完全消失,大概是在某个地方的视图之外.

如何创建一个包含单行文本的简单文本视图,并在发生意外情况时保持其布局?......甚至是可以预测的事情.

<TextView
    android:id="@+id/tempF"
    android:text="@string/tempF"
    android:layout_width="146dp"
    android:layout_height="wrap_content"
    android:textColor="#cccccc"
    android:textStyle="bold"
    android:textSize="92dp"
    android:fontFamily="serif"
    android:gravity="right"
    android:layout_marginTop="60dp"
    android:layout_gravity="top|left"
    android:singleLine="true"
    />
Run Code Online (Sandbox Code Playgroud)

Jim*_*Jim 35

这是"ellipsize"的目的 - 截断一部分文本以指示其他文本.

在你的情况下,你可能只需要添加如下内容:

android:ellipsize="end"
Run Code Online (Sandbox Code Playgroud)

或者你可能需要更深入:

在Java中自动椭圆化字符串

或者看看这个:

android ellipsize multiline textview

扩展类的想法是,当文本内容超出提供的空间时,您可以自定义TextView的行为.例如,你可以通过删除填充等给它外观"渗透".省略号是一个指示器,通常用于解释"有更多你看不到的文字" - 这就是它的外观:

这真的很长......

(3个时期是省略号 - 你的文字方向相反,但它应该仍然有用)

使用自定义TextView,您可以将"..."更改为任何内容或您想要的任何其他内容(甚至是我已完成的图像)​​.

你也可以选中文字:

TextView Marquee无法正常工作


sid*_*kar 8

在xml中添加2个属性

android:singleLine="true"

android:ellipsize="end"
Run Code Online (Sandbox Code Playgroud)


rup*_*ain 7

您应该使用下面TextView.Check的ellipsize属性:

<TextView
    android:id="@+id/tempF"
    android:text="@string/tempF"
    android:layout_width="146dp"
    android:layout_height="wrap_content"
    android:textColor="#cccccc"
    android:textStyle="bold"
    android:textSize="92dp"
    android:fontFamily="serif"
    android:gravity="right"
    android:layout_marginTop="60dp"
    android:layout_gravity="top|left"
    android:singleLine="true"
    android:ellipsize="end"
    />
Run Code Online (Sandbox Code Playgroud)