Android:TextView自动截断并replaceString的最后3个字符
如果一个String
比TextView
的宽度长,它会自动换行到下一行。 我可以通过使用android:singleLine
(不build议使用)或者通过设置android:inputType="text"
来避免这种情况。 我现在需要的是用“ … ”replace我的String
的最后3个字符。 由于我没有使用一个等宽字体,这将始终是不同的,这取决于我的String
使用的字母。 所以我想知道什么是最好的方式来获得一个string在TextView
的最后3个字符,并将其replace。 也许在Android框架中已经实现了一些东西,因为这是一个常见的问题。
您应该可以使用文本视图的“ellipsize”属性:
<TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/text_mytext" android:ellipsize="end" android:maxLines="1" />
您也可能需要将重力值应用于布局。 我有时看到没有它们的“自动伸展”的观点。
为这个问题find了一个有趣的工作。
maxLines=1 ellipsize=end scrollHorizontally=true
诀窍是关于水平滚动的最后一个声明….检查出来。 它至less在v2.2上工作。
以编程方式
您可以使用
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);
- android:在触摸移动时移动视图(ACTION_MOVE)
- Android的边缘开始/结束和右/左之间有什么区别?
- android布局:这个标签及其子元素可以被一个<TextView />和一个复合的drawable所取代
- 隐藏HorizontalScrollView的滚动条
- 在Android中解码正确大小的位图
- 在Android 4.0+上移除操作栏左侧图标的填充
- 为Robolectric的SharedPreferences提供testing数据
- 操作栏菜单项文字颜色
- android.content.res.Resources $ NotFoundException:String中的资源ID致命exception