日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > Android >内容正文

Android

android中gravity什么意思,【Android】“android:gravity”和“android:layout_gravity”属性解释...

發布時間:2024/3/12 Android 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 android中gravity什么意思,【Android】“android:gravity”和“android:layout_gravity”属性解释... 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

在學習Android布局的過程中,我經常會混淆android:gravity和android:layout_gravity這兩個屬性,因為它們就差一點點而已。因此,特以此文記錄一下關于這兩者的知識點。

簡單的說法

android:gravity :view里面的內容在這個view中的位置

android:layout_gravity :這個view相對于它父view的位置

簡單的做法

在某個Activity的xml布局文件,寫上下面的代碼:

android:layout_width="match_parent"

android:layout_height="match_parent"

android:orientation="vertical">

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_gravity="right"

android:gravity="left"

android:text="Text" />

顯示這樣內容:

然后,不求甚解的人就會以為自己懂了。

但一個正常的App界面,怎么會只有一個控件?

我們需要了解的是,這兩個屬性在“控件與控件”、“控件與布局”、

“(控件+控件+……)與布局”之間,各種組合情況下會產生怎樣的效果。

只有了解并且上機體驗過,才能知道它倆怎么去用。

關心一下它倆從哪里來的

我在官網以這兩個搜了一下,看得都暈了,

還是沒太弄清楚怎么回事,先記下來:

android:gravity :搜到Gravity這個類,里面有這些方位的靜態常量

android:layout_gravity :是LinearLayout.LayoutParams這個靜態類的屬性

因為觀察那幾種布局和它們的.LayoutParams的XML屬性欄目,

android:layout_gravity在布局.LayoutParams的XML屬性欄目,

而android:gravity是直接在布局類的XML屬性欄目。

這里估計跟“自定義View”那部分內容有點關系,看這里。

好像繞得有點遠了,這些暫時不用深究吧。

其實關鍵還是“android:layout_gravity”屬性

例如一個按鈕,里面的內容因為已經限制在一個框框里面了,

那么android:gravity一般也就是往中間發散的九個方向放了。

而android:layout_gravity因為涉及到布局與控件各種相互關系,

因此設置之前,要仔細考慮才行。

那么平時用的,也就是LinearLayout、RelativeLayout、FrameLayout三種,

把上面那個“簡單的做法”的LinearLayout替換為其它兩個,

就是發現RelativeLayout對android:layout_gravity不起作用。

查資料也是,LinearLayout和FrameLayout支持android:layout_gravity。

“android:layout_gravity”屬性怎么用

先是代碼:

android:layout_width="fill_parent"

android:layout_height="fill_parent"

android:background="#666666"

android:orientation="vertical">

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:padding="2dip"

android:text="Linear Layout - horizontal, gravity=center"

android:textColor="#FFFFFF" />

android:layout_width="fill_parent"

android:layout_height="0dip"

android:layout_weight="1"

android:background="#EEEEEE"

android:gravity="center"

android:orientation="horizontal">

android:id="@+id/Button01"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_gravity="top"

android:text="top">

android:id="@+id/Button02"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_gravity="center"

android:text="center">

android:id="@+id/Button03"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_gravity="bottom"

android:text="bottom">

android:layout_width="fill_parent"

android:layout_height="wrap_content"

android:padding="2dip"

android:text="Linear Layout - vertical, gravity=center"

android:textColor="#FFFFFF" />

android:layout_width="fill_parent"

android:layout_height="0dip"

android:layout_weight="1"

android:background="#DDDDDD"

android:gravity="center"

android:orientation="vertical">

android:id="@+id/Button04"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_gravity="left"

android:text="left">

android:id="@+id/Button05"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_gravity="center"

android:text="center">

android:id="@+id/Button06"

android:layout_width="wrap_content"

android:layout_height="wrap_content"

android:layout_gravity="right"

android:text="right">

顯示出來是這個樣子:

記住這些

對于horizontal的LinearLayout,把android:layout_gravity設為top、center、bottom、center_vertical才有意義;

對于vertical 的LinearLayout,把android:layout_gravity設為left、center、right、center_horizontal才有意義;

RelativeLayout對android:layout_gravity不起作用

center已經包含了center_vertical和center_horizontal兩種意義了,用的時候不要忘了

參考資料

總結

以上是生活随笔為你收集整理的android中gravity什么意思,【Android】“android:gravity”和“android:layout_gravity”属性解释...的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。