Android布局学习——android:gravity和android:layout_gravity的区别
[Android布局学习系列]
1.Android 布局学习之——Layout(布局)详解一
2.Android 布局学习之——Layout(布局)详解二(常见布局和布局参数)
3.Android 布局学习之——LinearLayout的layout_weight属性
4.Android 布局学习之——LinearLayout属性baselineAligned的作用及baseline
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
- 1 <?xml version="1.0" encoding="utf-8"?>
- 2 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
- 3 android:orientation="vertical"
- 4 android:layout_width="match_parent"
- 5 android:layout_height="match_parent">
- 6
- 7 <LinearLayout
- 8 android:id="@+id/linearLayout"
- 9 android:layout_width="match_parent"
- 10 android:layout_height="150dp"
- 11 android:orientation="vertical">
- 12 <TextView
- 13 android:layout_width="match_parent"
- 14 android:layout_height="50dp"
- 15 android:text="android:gravity用于设置View中内容相对于View组件的对齐方式"/>
- 16 <TextView
- 17 android:layout_width="match_parent"
- 18 android:layout_height="50dp"
- 19 android:text="android:gravity=center"
- 20 android:background="#ff0000"
- 21 android:gravity="center"/>
- 22 <TextView
- 23 android:layout_width="match_parent"
- 24 android:layout_height="50dp"
- 25 android:text="android:gravity=right|bottom"
- 26 android:background="#00ff00"
- 27 android:gravity="right|bottom"
- 28 />
- 29 </LinearLayout>
- 30 <TextView
- 31 android:id="@+id/textView"
- 32 android:layout_width="match_parent"
- 33 android:layout_height="50dp"
- 34 android:layout_below="@id/linearLayout"
- 35 android:text="android:layout_gravity用于设置View组件相对于Container的对齐方式"/>
- 36 <LinearLayout
- 37 android:id="@+id/linearLayout1"
- 38 android:layout_width="match_parent"
- 39 android:layout_height="100dp"
- 40 android:layout_below="@id/textView"
- 41 android:orientation="vertical">
- 42 <TextView
- 43 android:layout_width="wrap_content"
- 44 android:layout_height="wrap_content"
- 45 android:layout_gravity="left"
- 46 android:text="android:layout_gravity=left"
- 47 android:background="#ff0000"
- 48 />
- 49 <TextView
- 50 android:layout_width="wrap_content"
- 51 android:layout_height="wrap_content"
- 52 android:layout_gravity="right"
- 53 android:text="android:layout_gravity=right"
- 54 android:background="#00ff00"
- 55 />
- 56 </LinearLayout>
- 57 <LinearLayout
- 58 android:id="@+id/linearLayout2"
- 59 android:layout_width="match_parent"
- 60 android:layout_height="100dp"
- 61 android:layout_below="@id/linearLayout1"
- 62 android:orientation="horizontal">
- 63 <TextView
- 64 android:layout_width="wrap_content"
- 65 android:layout_height="wrap_content"
- 66 android:layout_gravity="top"
- 67 android:text="android:layout_gravity=top"
- 68 android:background="#ff0000"
- 69 />
- 70 <TextView
- 71 android:layout_width="wrap_content"
- 72 android:layout_height="wrap_content"
- 73 android:layout_gravity="bottom"
- 74 android:text="android:layout_gravity=bottom"
- 75 android:background="#00ff00"
- 76 />
- 77 </LinearLayout>
- 78 </RelativeLayout>
效果: