對於可以顯示文字的View(如TextView,Button等),它的baseline 指的是這個UI控件中文字Text的baseline 到UI控件頂端的偏移值,可以通過View 的getBaseline()返回,如果一個View不支持baseline 對齊(比如ImageView) getBaseline()返回-1.
LinearLayout 帶有一個屬性android:baselineAligned 其缺省為true,也就是當使用android:orientation 為horizontal ,其子View的baseline 是對齊的,表現在不同View顯示的文字的baseline是對齊的。
如本例: 在頂部顯示 TextView, Button ,TextView 文字的基准線(baseline)是對齊的。
可以將android:baselineAligned 設為false 做個比較:
<LinearLayout xmlns:android=”http://schemas.android.com/apk/res/android”
android:orientation=”horizontal”
android:baselineAligned=”false”
android:layout_width=”match_parent”
android:layout_height=”wrap_content”>
<TextView
android:layout_width=”wrap_content”
android:layout_height=”wrap_content”
android:layout_marginRight=”3dip”
android:text=”@string/baseline_1_label” />
<Button
android:layout_width=”wrap_content”
android:layout_height=”wrap_content”
android:layout_marginRight=”3dip”
android:text=”@string/baseline_1_button” />
<TextView
android:layout_width=”wrap_content”
android:layout_height=”wrap_content”
android:textSize=”20sp”
android:text=”@string/baseline_1_bigger” />
</LinearLayout>