Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> android TextView多行文本(超過3行)使用ellipsize屬性無效問題的解決方法

android TextView多行文本(超過3行)使用ellipsize屬性無效問題的解決方法

編輯:關於Android編程

布局文件中的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);
  }
  }
});

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved