首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

Android TextView 動態高度適配:移除 maxLines 限制與滾動方案

     編輯:程式設計綜合問答

問題原因

XML 設置 android:maxLines="4" 硬性限制顯示行數,超出部分被截斷或隱藏。

方案一:移除 maxLines,自動撐開

<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:singleLine="false"
    android:ellipsize="none" />

內容多少自適應高度。

方案二:代碼計算高度並設置

TextView tv = findViewById(R.id.text);
tv.measure(0, 0); // 或在 layout 後
int height = tv.getLineCount() * tv.getLineHeight();
tv.setHeight(height);

方案三:固定高度 + 內部滾動

<TextView
    android:layout_width="match_parent"
    android:layout_height="200dp"
    android:scrollbars="vertical"
    android:overScrollMode="always" />
textView.setMovementMethod(new ScrollingMovementMethod());

選擇建議

  • 內容不定、需完整顯示 → 方案一。
  • 固定區域、長文本可滾動 → 方案三。
  • 需精確控制高度動畫 → 方案二配合 ValueAnimator。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved