android TextView多行文本(超过3行)使用ellipsize属性无效问题的解决方法_安卓软件开发教程-查字典教程网
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);

}

}

});

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