TextView 顯示超長文本導致佈局異常,需配置多行、換行、滾動等屬性實現正常顯示。
<TextView
android:id="@+id/bottomText"
android:layout_width="match_parent" <!-- 改為 match_parent 限制寬度 -->
android:layout_height="wrap_content"
android:maxLines="5" <!-- 最大行數,超出可配合滾動 -->
android:ellipsize="end" <!-- 超出部分省略號 -->
android:scrollHorizontally="false" <!-- 禁止水平滾動,強制換行 -->
android:singleLine="false" <!-- 允許換行 -->
android:inputType="textMultiLine" <!-- 多行輸入類型,增強換行 -->
android:text="@string/long_text"
android:textSize="16sp"
android:textColor="#FFFFFF"
android:background="#000000"
android:layout_gravity="center_horizontal" />
<TextView
...
android:maxLines="10"
android:scrollbars="vertical"
android:verticalScrollbarPosition="defaultPosition" />
// 代碼中啟用滾動
textView.setMovementMethod(new ScrollingMovementMethod());
| 需求 | 關鍵屬性 |
|---|---|
| 自動換行 | android:singleLine="false" + android:inputType="textMultiLine" |
| 限制行數 | android:maxLines="N" |
| 超出省略 | android:ellipsize="end|marquee" |
| 可垂直滾動 | android:scrollbars="vertical" + setMovementMethod |
| 寬度自適應父佈局 | android:layout_width="match_parent" |
按需組合屬性,長文本顯示不再崩佈局。