Android TextView SingleLine字段隐藏长文本

时间:2014-08-11 15:34:32

标签: android xml textview word-wrap

我有一个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"
    />

6 个答案:

答案 0 :(得分:34)

这是“ellipsize”的目的 - 截断一部分文本以指示其他文本。

在您的情况下,您可能只需添加以下内容:

android:ellipsize="end"

或者您可能需要深入了解:

Automatically ellipsize a string in Java

或者看看这个:

android ellipsize multiline textview

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

这真的很长......

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

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

您还可以选中文字:

TextView Marquee not working

答案 1 :(得分:8)

在xml中添加2个属性

android:singleLine="true"

android:ellipsize="end"

答案 2 :(得分: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"
    />

答案 3 :(得分:0)

           <TextView
            android:id="@+id/tv_desc"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:textColor="@color/colorGray"
            android:textSize="@dimen/_18dp"
            android:padding="@dimen/_2dp"
            android:singleLine="true"
            android:ellipsize="end"
            android:text="@string/desc"/>

答案 4 :(得分:0)

<View
    android:layout_width="match_parent"
    android:layout_height="1dp"
    android:background="#000000" />

有效。

答案 5 :(得分:0)

v$resource_limit起已弃用。我们可以使用此行android:singleLine

可以这样做。

android:maxLines