我總是在佈局上對齊文本時遇到了最大的問題。好像TextView不能正確測量文本。報告的TextView寬度和高度比實際文本大很多。人們會期望TextView的寬度和高度緊緊纏繞文本。TextView文本對齊太可怕了!如何解決它?
下圖顯示數字18和文本「SEC」未在同一底部基線上對齊的情況。這是由於較大的文本高度比文本大得多。我的xml佈局可以在下面看到。
如何實現更好的文本對齊精度?在你的TextView
<RelativeLayout
android:layout_width="fill_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:background="@drawable/scan_block_1_bg" >
<LinearLayout
android:id="@+id/staticCountDown"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:gravity="center"
android:orientation="vertical" >
<TextView
android:id="@+id/tvStaticScanning"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:shadowColor="#ffffff"
android:shadowDy="1.0"
android:shadowRadius="0.01"
android:text="SCANNING"
android:textColor="#878787"
android:textSize="20sp" />
<TextView
android:id="@+id/tvCountDown"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:shadowColor="#66000000"
android:shadowDy="-1.0"
android:shadowRadius="0.01"
android:text="03"
android:textColor="#b6b6b6"
android:textSize="81sp" />
</LinearLayout>
<TextView
android:id="@+id/tvStaticSeconds"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBottom="@id/staticCountDown"
android:layout_toRightOf="@id/staticCountDown"
android:gravity="left"
android:shadowColor="#ffffff"
android:shadowDy="1.0"
android:shadowRadius="0.01"
android:text="SEC"
android:textColor="#878787"
android:textSize="12sp" />
</RelativeLayout>
謝謝,我開始認爲它與此有關......我確實看到有一個TextView android:includeFontPadding的選項,但它好像消除了頂部填充但不是底部......我想知道是否有是一個類似的選項這樣的功能...如果沒有新的答案給出在接下來的幾天我會考慮庫馬爾答案是正確的... – Jona 2012-01-04 22:56:35
我相信你的答案是正確的,因爲你提到空間的原因。我希望有一種方法可以根據基線來對齊文本。 – Jona 2012-01-06 16:51:23