版权所有,禁止匿名转载;禁止商业使用。
1.分别是什么?
android:gravity :
定义了一个对象在X,Y坐标轴,在它自己的边界内,应该如何放置它的内容。是上(top)还是下(bottom),左(left)或是右(right)。
比如一个TextView,设置它的android:gravity,对它的内容的位置有影响。
android:layout_gravity :
标准的gravity常量,是子组件提供给它的父组件的。定义了子View在 封闭的布局(layout) 中在X,Y方向上应该如何被放置。
如一个方向是垂直的LinerLayout,布局里的TextView的layout_gravity对它在布局中的位置有影响。
如果需要设置多个gravity值,用"|"符号分隔。如
android:layout_gravity="right|bottom"
android:gravity="right|bottom"
2.区别
看名字就能看出一些区别:android:layout_gravity和layout有关。
android:gravity 设置 View的内容的gravity。
android:layout_gravity 设置View或Layout的在它父布局中的gravity。
3.Demo
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent"> <LinearLayout android:id="@+id/linearLayout" android:layout_width="match_parent" android:layout_height="150dp" android:orientation="vertical"> <TextView android:layout_width="match_parent" android:layout_height="50dp" android:text="android:gravity用于设置View中内容相对于View组件的对齐方式"/> <TextView android:layout_width="match_parent" android:layout_height="50dp" android:text="android:gravity=center" android:background="#ff0000" android:gravity="center"/> <TextView android:layout_width="match_parent" android:layout_height="50dp" android:text="android:gravity=right|bottom" android:background="#00ff00" android:gravity="right|bottom" /> </LinearLayout> <TextView android:id="@+id/textView" android:layout_width="match_parent" android:layout_height="50dp" android:layout_below="@id/linearLayout" android:text="android:layout_gravity用于设置View组件相对于Container的对齐方式"/> <LinearLayout android:id="@+id/linearLayout1" android:layout_width="match_parent" android:layout_height="100dp" android:layout_below="@id/textView" android:orientation="vertical"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="left" android:text="android:layout_gravity=left" android:background="#ff0000" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="right" android:text="android:layout_gravity=right" android:background="#00ff00" /> </LinearLayout> <LinearLayout android:id="@+id/linearLayout2" android:layout_width="match_parent" android:layout_height="100dp" android:layout_below="@id/linearLayout1" android:orientation="horizontal"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="top" android:text="android:layout_gravity=top" android:background="#ff0000" /> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="bottom" android:text="android:layout_gravity=bottom" android:background="#00ff00" /> </LinearLayout> </RelativeLayout>