首页 > 代码库 > android TextView多行文本(超过3行)使用ellipsize属性无效问题的解决方法
android TextView多行文本(超过3行)使用ellipsize属性无效问题的解决方法
布局文件:
<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() { @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 TextView多行文本(超过3行)使用ellipsize属性无效问题的解决方法
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。