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

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

android:layout_gravity和android:gravity的区别

發(fā)布時(shí)間:2025/4/16 编程问答 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 android:layout_gravity和android:gravity的区别 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

1.首先來(lái)看看android:layout_gravity和android:gravity的使用區(qū)別。

android:gravity:

這個(gè)是針對(duì)控件里的元素來(lái)說(shuō)的,用來(lái)控制元素在該控件里的顯示位置。例如,在一個(gè)Button按鈕控件中設(shè)置如下兩個(gè)屬性,

android:gravity="left"和android:text="提交",這時(shí)Button上的文字“提交”將會(huì)位于Button的左部。


android:layout_gravity:

這個(gè)是針對(duì)控件本身而言,用來(lái)控制該控件在包含該控件的父控件中的位置。同樣,當(dāng)我們?cè)贐utton按鈕控件中設(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è)值,需用“|”分開(kāi)。其含義如下:

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),用于按照容器的邊來(lái)剪切對(duì)象的頂部和/或底部的內(nèi)容. 剪切基于其縱向?qū)R設(shè)置:頂部對(duì)齊時(shí),剪切底部;底部對(duì)齊時(shí)剪切頂部;除此之外剪切頂部和底部.

垂直方向裁剪

clip_horizontal

附加選項(xiàng),用于按照容器的邊來(lái)剪切對(duì)象的左側(cè)和/或右側(cè)的內(nèi)容. 剪切基于其橫向?qū)R設(shè)置:左側(cè)對(duì)齊時(shí),剪切右側(cè);右側(cè)對(duì)齊時(shí)剪切左側(cè);除此之外剪切左側(cè)和右側(cè).

水平方向裁剪


我們主要來(lái)看看 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è)例子說(shuō)明:(本例來(lái)源于: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中,我們?cè)O(shè)置了android:layout_gravity="bottom|center_horizontal"? ,但該TextView并沒(méi)有顯示在屏幕的下方正中央,表明只有center_horizontal屬性起了作用,這正是因?yàn)槲覀兪褂昧薒inearLayout布局,并且其android:orientation="vertical",只有水平方向的設(shè)置才會(huì)起作用,其他方向則會(huì)失效。同樣,Button也一樣。

    總結(jié)

    以上是生活随笔為你收集整理的android:layout_gravity和android:gravity的区别的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

    如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。