Android TextView文本溢出指示器?

时间:2011-06-28 18:19:18

标签: android

我想知道是否有办法用'...'替换TextView的最后三个字符,但前提是当前文本溢出TextView。我必须将TextView限制为1行,但有时文本太长,我想在结尾处显示“...”以指示文本比显示的更长。

由于

2 个答案:

答案 0 :(得分:16)

答案 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。 (通常是我经验中较广泛的人物之一)