總是忘,記下來
android:gravity是調整元素本身的内容或元素包含的子元素顯示的位置,預設是顯示在左側
android:layout_gravity是相對與它的父元素說的,說明元素顯示在父元素的什麼位置。
比如說Button: android:layout_gravity 表示按鈕在界面上的位置。 android:gravity表示Button上的字在button上的位置。
這兩個屬性可選的值有:
值說明
top将對象放在其容器的頂部,不改變其大小.
bottom将對象放在其容器的底部,不改變其大小.
left将對象放在其容器的左側,不改變其大小.
right将對象放在其容器的右側,不改變其大小.
center_vertical将對象縱向居中,不改變其大小.
垂直對齊方式:垂直方向上居中對齊。
fill_vertical必要的時候增加對象的縱向大小,以完全充滿其容器.
垂直方向填充
center_horizontal将對象橫向居中,不改變其大小.
水準對齊方式:水準方向上居中對齊
fill_horizontal必要的時候增加對象的橫向大小,以完全充滿其容器.
水準方向填充
center将對象橫縱居中,不改變其大小.
fill必要的時候增加對象的橫縱向大小,以完全充滿其容器.
clip_vertical附加選項,用于按照容器的邊來剪切對象的頂部和/或底部的内容. 剪切基于其縱向對齊設定:頂部對齊時,剪切底部;底部對齊時剪切頂部;除此之外剪切頂部和底部.
垂直方向裁剪
clip_horizontal附加選項,用于按照容器的邊來剪切對象的左側和/或右側的内容. 剪切基于其橫向對齊設定:左側對齊時,剪切右側;右側對齊時剪切左側;除此之外剪切左側和右側.
水準方向裁剪
對于 LinearLayout
當 android:orientation="vertical" 時, 隻有水準方向的設定才起作用,垂直方向的設定不起作用。即:left,right,center_horizontal 是生效的。
當 android:orientation="horizontal" 時, 隻有垂直方向的設定才起作用,水準方向的設定不起作用。即:top,bottom,center_vertical 是生效的。
對于RelativeLayout
是沒有android:layout_gravity屬性的,如要設定必須使用android:layout_centerInParent或android:layout_centerHorizontal或android:layout_centerVertical
對于AbsoluteLayout
是沒有android:layout_gravity屬性的,隻能設定x、y的位置
對于FrameLayout
設定center_vertical是垂直居中,而center_horizontal是水準居中,而center則是水準和垂直都居中
對于TableLayout
每個元素都是一行,設定android:layout_gravit屬性沒有效果