问题描述
如果 String
比 TextView
的宽度长,它会自动换行到下一行.我可以通过使用 android:singleLine
(已弃用)或设置 android:inputType="text"
来避免这种情况.我现在需要的是用..."替换我的 String
的最后 3 个字符.由于我没有使用等宽字体,因此这将始终根据我的 String
中使用的字母而有所不同.所以我想知道在 TextView
中获取字符串的最后 3 个字符并替换它们的最佳方法是什么.也许Android框架中已经实现了一些东西,因为这一定是一个常见的问题.
If a String
is longer than the TextView
's width it automatically wraps onto the next line. I can avoid this by using android:singleLine
(deprecated) or by setting android:inputType="text"
. What I need now is something that replaces the last 3 characters of my String
with "...". Since I'm not using a monospace font this will always be different depending on the letters used in my String
. So I'm wondering what's the best way to get the last 3 characters of a String in a TextView
and replace them. Maybe there's already something implemented in the Android framework, since this must be a common problem.
推荐答案
你应该能够使用文本视图的ellipsize"属性:
You should be able to use the "ellipsize" property of a text view:
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/text_mytext"
android:ellipsize="end"
android:maxLines="1"
/>
您可能还需要对布局应用重力值;我有时会看到没有它们的自动拉伸"视图.
You may also need to apply gravity values to the layout too; I have sometimes seen "auto-stretching" views without them.
这篇关于Android:TextView 自动截断并替换字符串的最后 3 个字符的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!