区别:
android:gravity 是对自己儿子说的。
android:layout_gravity 是对自己说的。
验证:先创建如下布局:
其中蓝色部分是最外层的LinearLayout
紫色部分为中间的LinearLayout
粉色部分是紫色LinearLayout里的一个Button
不加gravity属性时布局如上。
若是给紫色部分添加一个android:gravity="center"
就会变成下图这样:
粉色部分跑到了紫色部分的正中间
若是去掉android:gravity="center"然后再给紫色部分添加一个android:layout_gravity ="center"
就会变成下图这样:
紫色部分跑到了蓝色部分的水平方向的中间,这是因为蓝色部分有一个属性android:orientation="vertical" ,而紫色部分又是一个Layout,才导致紫色部分不在蓝色部分的正中间。如果把蓝色部分的android:orientation="vertical"改成android:orientation="horizontal",就会变成如下所示界面:
如果紫色部分同时有
android:gravity="center"
android:layout_gravity="center"
并且蓝色部分改回android:orientation="vertical"
那么界面就变成这样: