Android TextView单行字段隐藏长文本

Android TextView单行字段隐藏长文本,android,xml,textview,word-wrap,Android,Xml,Textview,Word Wrap,我有一个文本视图,它位于屏幕的左侧,用gravity=“right”设置,用SingleLine=“true”设置 如果这个视图中的文本太长,我希望它从视图的左侧消失。我以为下面的配置可以做到这一点,但实际发生的是长字符串完全消失了,大概是在视图的某个地方 我如何创建一个简单的文本视图,其中包含一行文本,即使发生意外情况,也能保持其布局。。。甚至是可以预测的事情 <TextView android:id="@+id/tempF" android:text="@string/

我有一个文本视图,它位于屏幕的左侧,用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"
    />

这就是“省略号”的目的——截断部分文本以指示其他文本

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

android:ellipsize="end"
或者您可能需要更深入:

或者看看这个:

扩展类背后的思想是,当文本内容超出提供的空间时,可以自定义TextView的行为。例如,您可以通过移除填充物等方式使其呈现“出血”的外观。省略号是一个常用的指示器,用于解释“有更多的文本您看不见”-这是它的外观:

这真的是一段很长的时间

(这三个句号是省略号-你的文章方向相反,但应该仍然有效)

使用自定义文本视图,您可以将“…”更改为“无”或任何您想要的内容(甚至是图像,我已经完成了)

您还可以为文本选框:


您应该使用TextView的省略号属性。请检查以下内容:

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

在xml中添加两个属性

android:singleLine="true"

android:ellipsize="end"



它是有效的。

因为
android:singleLine
已被弃用。我们可以使用这一行
android:maxLines

我可以这样做

android:ellipsize="end"
android:maxLines="1"

我真的很感激你的回答,但我可以看出这个概念是行不通的。android:ellpsize的所有变体都有相同的结果,但即使没有,椭圆的外观也只比我没有的稍好一点。我不得不从中假设,我可能需要使视图延伸到屏幕边缘之外,并希望达到最佳效果。是的,这似乎是唯一的方法。对我来说似乎不太犹太,但不管怎样。android:layout\u width=“500dp”android:layout\u marginLeft=“-350dp”看看我修改后的评论。您可能需要自定义文本视图。或者使用字幕可能会有所帮助。在屏幕上滚动可能会发生一些不可预知的事情。是的,这很可能是更整洁的解决方案。谢谢你的主意。在海事组织,这是一个不应该存在的问题,但至少是一个有解决办法的问题。谢谢。只为记录单线是不推荐的。使用maxLines=“1”。仅用于记录²:将ellipsize=middle和maxLines=1组合在一起可能会导致崩溃。改为使用singleLine=true。
<View
    android:layout_width="match_parent"
    android:layout_height="1dp"
    android:background="#000000" />
android:ellipsize="end"
android:maxLines="1"