android TextView多行文本(超过3行)使用ellipsize属性无效问题的解决方法
android TextView多行文本(超过3行)使用ellipsize属性无效问题的解决方法
发布时间:2016-12-28 来源:查字典编辑
摘要:布局文件中的TextView属性复制代码代码如下:在JAVA代码中控制文本的显示行数复制代码代码如下:ViewTreeObserverobs...

布局文件中的TextView属性

复制代码 代码如下:

<TextView

android:id="@+id/businesscardsingle_content_abstract"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_marginTop="5dp"

android:lineSpacingMultiplier="1.0"

android:lines="6"

android:text="@string/agrinbusiness_content"

android:textColor="#7f7f7f"

android:textSize="13sp" />

在JAVA代码中控制文本的显示行数

复制代码 代码如下:

ViewTreeObserver observer = textAbstract.getViewTreeObserver(); //textAbstract为TextView控件

observer.addOnGlobalLayoutListener(new OnGlobalLayoutListener() {

@Override

public 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);

}

}

});

推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
相关阅读
网友关注
最新安卓软件开发学习
热门安卓软件开发学习
编程开发子分类