首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Android: TextView会自动截断并替换字符串的最后3个字符

Android: TextView会自动截断并替换字符串的最后3个字符
EN

Stack Overflow用户
提问于 2009-11-03 19:26:04
回答 3查看 96.9K关注 0票数 146

如果StringTextView的宽度长,它会自动换行到下一行。我可以通过使用android:singleLine (已弃用)或设置android:inputType="text"来避免这种情况。我现在需要的是用"...“替换我的String的最后3个字符。由于我使用的不是等宽字体,因此根据String中使用的字母不同,字体也会有所不同。所以我想知道在TextView中获取字符串的最后3个字符并替换它们的最好方法是什么。也许Android框架中已经实现了一些东西,因为这肯定是一个常见的问题。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2009-11-03 21:28:27

您应该能够使用文本视图的“椭圆大小”属性:

代码语言:javascript
复制
<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:id="@+id/text_mytext"
    android:ellipsize="end"
    android:maxLines="1"
/>

您可能还需要将重力值应用于布局;我有时会看到没有重力值的“自动拉伸”视图。

票数 317
EN

Stack Overflow用户

发布于 2011-05-19 14:01:16

找到了一个有趣的解决这个问题的方法。

代码语言:javascript
复制
maxLines=1
ellipsize=end
scrollHorizontally=true

诀窍是关于水平滚动的最后一句话...看看这个。它至少可以在v2.2上工作。

票数 35
EN

Stack Overflow用户

发布于 2014-12-04 21:58:02

通过编程,您可以使用:

代码语言:javascript
复制
TextView tx = new TextView(this);
tx.setTextSize(13);
tx.setGravity(Gravity.CENTER);
tx.setTop(90);
tx.setText("Long text here");
tx.setTextColor(Color.BLACK);
tx.setSingleLine(true);
tx.setEllipsize(TruncateAt.END);
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1666736

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档