標籤:
Android:layout_gravity 和android:gravit的區別?
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屬性沒有效果
android:layout_gravity 和android:gravit的區別?