android:layout_gravity和android:gravity的区别

android:gravity和android:layout_gravity都是用来表示view横向和纵向的停靠位置,但是使用上是有差别的。

从名字上看,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。

而且这些属性是可以多选的,用“|”分开。

默认这个的值是:Gravity.LEFT

对于 LinearLayout

当 android:orientation="vertical"  时, 只有水平方向的设置才起作用,垂直方向的设置不起作用。即:left,right,center_horizontal 是生效的。

当 android:orientation="horizontal" 时, 只有垂直方向的设置才起作用,水平方向的设置不起作用。即:top,bottom,center_vertical 是生效的。 

布局例子

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="400dip"
        android:gravity="center"
        android:orientation="vertical" >

        <Button
            android:id="@+id/button1"
            android:layout_width="200dip"
            android:layout_height="100dip"
            android:gravity="right"
            android:layout_gravity="right"
            android:text="TextView"
            android:textIsSelectable="true" />
       
         <Button
            android:id="@+id/button2"
            android:layout_width="200dip"
            android:layout_height="100dip"
            android:text="TextView"
            android:textIsSelectable="true" />
    </LinearLayout>

</LinearLayout>

 

 

猜你喜欢

转载自zhujiao.iteye.com/blog/1856959