<强> 1。首先来看看Android: layout_gravity和Android:重力的使用区别。强>
这个是针对控件里的元素来说的,用来控制元素在该控件里的显示位置,例如,在一个按钮按钮控件中设置如下两个属性,
android:重力=白蟆焙蚢ndroid:文本=疤峤弧?这时按钮上的文字“提交”将会位于按钮的左部。
这个是针对控件本身而言,用来控制该控件在包含该控件的父控件中的位置。同样,当我们在按钮按钮控件中设置android: layout_gravity=白蟆笔粜允?表示该按钮按钮将位于界面的左部。
<强> 2。属性值:强>
这两个属性可选的值有:顶部,下,左,右,center_vertical, fill_vertical, center_horizontal, fill_horizontal,中心,填补,clip_vertical。
一个属性可以包含多个值,需用“|”分开。其含义如下:
前
将对象放在其容器的顶部,不改变其大小。
底
将对象放在其容器的底部,不改变其大小。
左
将对象放在其容器的左侧,不改变其大小。
正确的
将对象放在其容器的右侧,不改变其大小。
center_vertical
将对象纵向居中,不改变其大小只
垂直对齐方式:垂直方向上居中对齐。
fill_vertical
必要的时候增加对象的纵向大小,以完全充满其容器只
垂直方向填充
center_horizontal
将对象横向居中,不改变其大小只
水平对齐方式:水平方向上居中对齐
fill_horizontal
必要的时候增加对象的横向大小,以完全充满其容器只
水平方向填充
中心
将对象横纵居中,不改变其大小。
填满
必要的时候增加对象的横纵向大小,以完全充满其容器。
clip_vertical
附加选项,用于按照容器的边来剪切对象的顶部和/或底部的内容。剪切基于其纵向对齐设置:顶部对齐时,剪切底部;底部对齐时剪切顶部,除此之外剪切顶部和底部。
垂直方向裁剪
clip_horizontal附加选项,用于按照容器的边来剪切对象的左侧和/或右侧的内容。剪切基于其横向对齐设置:左侧对齐时,剪切右侧;右侧对齐时剪切左侧;除此之外剪切左侧和右侧。
水平方向裁剪
我们主要来看看center_vertical和center_horizontal两个属性值,
center_vertical是指将对象在垂直方向上居中对齐,即在;center_horizontal是指将对象水平方向上居中对齐,即在。
<强> 3。特殊情况强>
当我们采用LinearLayout布局时,有以下特殊情况需要我们注意:
只有水平方向的设置才起作用,垂直方向的设置不起作用。即:左,右,center_horizontal是生效的。强>
只有垂直方向的设置才起作用,水平方向的设置不起作用。即:顶部,底部,center_vertical是生效的。强>
下面以一个例子说明:(本例来源于:http://blog.csdn.net/dekunchenivan/article/details/6718678)
& lt; & # 63; xml version=" 1.0 " encoding=" utf - 8 " & # 63;比; & lt; LinearLayout xmlns: android=" http://schemas.android.com/apk/res/android " android:取向=按怪薄? android: layout_width="宽和" android: layout_height="宽和" 比; & lt; TextView android: layout_width=" 100下降” android: layout_height=" 100下降” android: layout_gravity="底部| center_horizontal” android:重力="中心|底” android:背景=" # 00 ff00” android:文本=" @string/textview”/比; & lt;按钮 android: layout_width=" 100下降” android: layout_height=" 100下降” android: layout_gravity="下|左" android:重力="左|上" android:背景=" # FF0000 " android:文本=" @string/按钮”/比; & lt;/LinearLayout>>之前其效果如图:,
在TextView中,我们设置了<代码> android: layout_gravity=暗讄 center_horizontal”,> 代码,但该TextView并没有显示在屏幕的下方正中央,表明只有属性起了作用,这正是因为我们使用了LinearLayout布的局,并且其android:取向=按怪薄?只有水平方向的设置才会起作用,其他方向则会失效。同样,按钮也一样。
android: layout_gravity和android:重力的区别