我想知道是否有办法用'...'替换TextView的最后三个字符,但前提是当前文本溢出TextView。我必须将TextView限制为1行,但有时文本太长,我想在结尾处显示“...”以指示文本比显示的更长。
由于
答案 0 :(得分:16)
是。你可以使用http://developer.android.com/reference/android/widget/TextView.html#attr_android:ellipsize 配置“...”的显示。
答案 1 :(得分:0)
是的,这是一项称为截断的常见任务。您需要找到您认为适合的最大字符(3个时段为-3),然后执行以下操作:
int MAX_CHARS = 55; // for example
TextView tv = (TextView) findViewById(R.id.your_text_view_id);
if(tv.getText().toString().length >= MAX_CHARS){
tv.setText(tv.getText().toString().substring(0,MAX_CHARS) + "...");
}
请记住,某些字符比其他字符宽,具体取决于字体,因此您可能希望在尝试找出MAX_CHARS应该是什么时尝试所有大写字母Os。 (通常是我经验中较广泛的人物之一)