android:maxLines和android:ellipsize
16lz
2021-12-04
android:maxLines和android:ellipsize同时使用的时候没有显示省略号,最后加上singleLine为false才显示出来。如下:
android:maxLines="4" android:ellipsize="end" android:singleLine="false"
只有end管用,其他的还是不能显示,有待研究。其中有一个作者提出了一下方法,作为参考: 网址:http://www.jb51.net/article/41237.htm
布局中代码:
java代码
ViewTreeObserver observer = textAbstract.getViewTreeObserver(); //textAbstract为TextView控件observer.addOnGlobalLayoutListener(new OnGlobalLayoutListener() {@Overridepublic void onGlobalLayout() {ViewTreeObserver obs = textAbstract.getViewTreeObserver();obs.removeGlobalOnLayoutListener(this);if(textAbstract.getLineCount() > 6) //判断行数大于多少时改变 { int lineEndIndex = textAbstract.getLayout().getLineEnd(5); //设置第六行打省略号 String text = textAbstract.getText().subSequence(0, lineEndIndex-3) +"..."; textAbstract.setText(text); } }});
更多相关文章
- Android:在界面中显示以及输入文本信息
- android 解决password过时
- android:ellipsize的使用
- android 笔记 --- ImageView的属性android:scaleType
- Android隐藏状态栏和标题栏,相当于全屏效果
- Android隐藏状态栏和标题栏,相当于全屏效果
- Android(安卓)Tips---Android平台常见属性集合
- 让Android程序能适应各种显示屏
- Android和JS代码互相调用