android:layout_gravity和android:gravity的區(qū)別
1.首先來看看Android:layout_gravity和android:gravity的使用區(qū)別。
android:gravity:
這個(gè)是針對(duì)控件里的元素來說的,用來控制元素在該控件里的顯示位置。例如,在一個(gè)Button按鈕控件中設(shè)置如下兩個(gè)屬性,
android:gravity="left"和android:text="提交",這時(shí)Button上的文字“提交”將會(huì)位于Button的左部。
android:layout_gravity:
這個(gè)是針對(duì)控件本身而言,用來控制該控件在包含該控件的父控件中的位置。同樣,當(dāng)我們在Button按鈕控件中設(shè)置android:layout_gravity="left"屬性時(shí),表示該Button按鈕將位于界面的左部。
2.屬性值:
這兩個(gè)屬性可選的值有:top、bottom、left、right、center_vertical、fill_vertical、center_horizontal、fill_horizontal、center、fill、clip_vertical。
一個(gè)屬性可以包含多個(gè)值,需用“|”分開。其含義如下:
top | 將對(duì)象放在其容器的頂部,不改變其大小. |
bottom | 將對(duì)象放在其容器的底部,不改變其大小. |
left | 將對(duì)象放在其容器的左側(cè),不改變其大小. |
right | 將對(duì)象放在其容器的右側(cè),不改變其大小. |
center_vertical | 將對(duì)象縱向居中,不改變其大小. 垂直對(duì)齊方式:垂直方向上居中對(duì)齊。 |
fill_vertical | 必要的時(shí)候增加對(duì)象的縱向大小,以完全充滿其容器. 垂直方向填充 |
center_horizontal | 將對(duì)象橫向居中,不改變其大小. 水平對(duì)齊方式:水平方向上居中對(duì)齊 |
fill_horizontal | 必要的時(shí)候增加對(duì)象的橫向大小,以完全充滿其容器. 水平方向填充 |
center | 將對(duì)象橫縱居中,不改變其大小. |
fill | 必要的時(shí)候增加對(duì)象的橫縱向大小,以完全充滿其容器. |
clip_vertical |
附加選項(xiàng),用于按照容器的邊來剪切對(duì)象的頂部和/或底部的內(nèi)容. 剪切基于其縱向?qū)R設(shè)置:頂部對(duì)齊時(shí),剪切底部;底部對(duì)齊時(shí)剪切頂部;除此之外剪切頂部和底部. 垂直方向裁剪 |
clip_horizontal |
附加選項(xiàng),用于按照容器的邊來剪切對(duì)象的左側(cè)和/或右側(cè)的內(nèi)容. 剪切基于其橫向?qū)R設(shè)置:左側(cè)對(duì)齊時(shí),剪切右側(cè);右側(cè)對(duì)齊時(shí)剪切左側(cè);除此之外剪切左側(cè)和右側(cè). 水平方向裁剪 |
我們主要來看看center_vertical和center_horizontal兩個(gè)屬性值,
center_vertical是指將對(duì)象在垂直方向上居中對(duì)齊,即在從上到下的方向上選擇中間的位置放好;center_horizontal是指將對(duì)象水平方向上居中對(duì)齊,即在從左到右的方向上選擇中間的位置放好。
3.特殊情況
當(dāng)我們采用LinearLayout布局時(shí),有以下特殊情況需要我們注意:
(1)當(dāng) android:orientation="vertical" 時(shí), android:layout_gravity只有水平方向的設(shè)置才起作用,垂直方向的設(shè)置不起作用。即:left,right,center_horizontal 是生效的。
(2)當(dāng) android:orientation="horizontal" 時(shí), android:layout_gravity只有垂直方向的設(shè)置才起作用,水平方向的設(shè)置不起作用。即:top,bottom,center_vertical 是生效的。
下面以一個(gè)例子說明:(本例來源于:http://blog.csdn.net/dekunchenivan/article/details/6718678)
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" > <TextView android:layout_width="100dip" android:layout_height="100dip" android:layout_gravity="bottom|center_horizontal" android:gravity="center|bottom" android:background="#00FF00" android:text="@string/textview" /> <Button android:layout_width="100dip" android:layout_height="100dip" android:layout_gravity="bottom|left" android:gravity="left|top" android:background="#FF0000" android:text="@string/button" /> </LinearLayout>
其效果如圖:
在TextView中,我們設(shè)置了android:layout_gravity="bottom|center_horizontal"
,但該TextView并沒有顯示在屏幕的下方正中央,表明只有center_horizontal屬性起了作用,這正是因?yàn)槲覀兪褂昧薒inearLayout布局,并且其android:orientation="vertical",只有水平方向的設(shè)置才會(huì)起作用,其他方向則會(huì)失效。同樣,Button也一樣。
以上就是本文的全部內(nèi)容,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作能帶來一定的幫助,同時(shí)也希望多多支持腳本之家!
相關(guān)文章
Android 搜索結(jié)果匹配關(guān)鍵字且高亮顯示功能
這篇文章主要介紹了Android 搜索結(jié)果匹配關(guān)鍵字且高亮顯示功能,需要的朋友可以參考下2017-05-05Android自定義ViewGroup實(shí)現(xiàn)流式布局
這篇文章主要為大家詳細(xì)介紹了Android自定義ViewGroup實(shí)現(xiàn)流式布局,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-09-09android自定義環(huán)形統(tǒng)計(jì)圖動(dòng)畫
這篇文章主要為大家詳細(xì)介紹了android自定義環(huán)形統(tǒng)計(jì)圖動(dòng)畫,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-07-07Android應(yīng)用開發(fā)中模擬按下HOME鍵的效果(實(shí)現(xiàn)代碼)
Android應(yīng)用開發(fā)中, 有一種場景,就是我們不希望用戶直接按Back鍵退出Activity,而是希望應(yīng)用隱藏到后臺(tái),類似于按Home鍵的效果2013-05-05android studio 新手入門教程(二)項(xiàng)目的導(dǎo)入教程圖解
這篇文章主要介紹了android studio 新手入門教程(二)項(xiàng)目的導(dǎo)入教程圖解,需要的朋友可以參考下2017-12-12Android自定義View Material Design理念詳解
這篇文章主要為大家介紹了Android自定義View Material Design理念詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-02-02Kotlin Service服務(wù)組件開發(fā)詳解
這幾天分析了一下的啟動(dòng)過程,于是乎,今天寫一下Service使用; 給我的感覺是它并不復(fù)雜,千萬不要被一坨一坨的代碼嚇住了,雖然彎彎繞繞不少,重載函數(shù)一個(gè)接著一個(gè),就向走迷宮一樣,但只要抓住主線閱讀,很快就能找到出口2022-12-12微信小程序 canvas開發(fā)實(shí)例及注意事項(xiàng)
這篇文章主要介紹了微信小程序 wxcanvas開發(fā)實(shí)例及注意事項(xiàng)的相關(guān)資料,這里對(duì)微信canvas與H5中的canvas做對(duì)比,并說明注意事項(xiàng),需要的朋友可以參考下2016-12-12