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

Android TextView 統一多行顯示:minLines 屬性強制最小行數對齊

     編輯:程式設計綜合問答

場景

兩個並排 TextView,文本長度不同導致行數不一 (一行 vs 兩行),視覺上底部/基線不对齊。

最簡方案:android:minLines




    
        android:gravity="center"
        android:text="Short" />

    
        android:gravity="center"
        android:text="Very Long Text That Wraps" />

效果

  • 短文本佔 2 行高度 (第二行空白),長文本正常換行顯示
  • 兩個 TextView 高度一致,垂直居中對齊完美
  • 無需 Java 代碼干預,純 XML 解決

進階屬性組合

屬性作用典型組合
minLines最小行數 (佔位)minLines="2"
maxLines最大行數 (截斷)maxLines="3" + ellipsize="end"
lines固定行數 (minLines=maxLines)lines="2" 等同 minLines+maxLines=2
ellipsize超出省略方式ellipsize="end|marquee"
gravity文本對齊gravity="center_vertical" 垂直居中

代碼動態設置


textView.setMinLines(2);
textView.setMaxLines(3);
textView.setEllipsize(TextUtils.TruncateAt.END);

避坑指南

  • ❌ 使用 layout_height="固定值" 強制高度 → 文本可能被截斷/溢出
  • ❌ 用 setLines() (已棄用) → 改用 setMinLines/MaxLines
  • ⚠️ minLines 僅保證最小高度,若文本超過仍會換行增高
  • ✅ 配合 maxLines + ellipsize 實現「固定高度、超出省略」

完美對齊模板



此模板確保:固定 2 行高度、垂直居中、超出末尾省略號、權重均分寬度。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved