多行文本,字符串自适应
- 过长的用省略号替代和字体大小控制,示例代码如下
tv_auto_settings_title.postDelayed(new Runnable() {
@Override
public void run() {
while (tv_auto_settings_title.getLineCount() > 2){//判断行数大于多少时改变
int lineEndIndex = tv_auto_settings_title.getLayout().getLineEnd(1); //设置第2行打省略号
String text = tv_auto_settings_title.getText().subSequence(0, lineEndIndex - 3) +"...";
tv_auto_settings_title.setText(text);
tv_auto_settings_title.setTextSize(TypedValue.COMPLEX_UNIT_PX, tv_auto_settings_title.getTextSize() - 4);
}
}
}, 50);