如果 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 个字符的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持html5模板网!
如何在 JTextPane 中的组件周围环绕文本?How to wrap text around components in a JTextPane?(如何在 JTextPane 中的组件周围环绕文本?)
MyBatis,如何获取插入的自动生成密钥?[MySql]MyBatis, how to get the auto generated key of an insert? [MySql](MyBatis,如何获取插入的自动生成密钥?[MySql])
在 Java 中插入 Oracle 嵌套表Inserting to Oracle Nested Table in Java(在 Java 中插入 Oracle 嵌套表)
Java:如何将 CLOB 插入 oracle 数据库Java: How to insert CLOB into oracle database(Java:如何将 CLOB 插入 oracle 数据库)
为什么 Spring-data-jdbc 不保存我的 Car 对象?Why does Spring-data-jdbc not save my Car object?(为什么 Spring-data-jdbc 不保存我的 Car 对象?)
使用线程逐块处理文件Use threading to process file chunk by chunk(使用线程逐块处理文件)