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>

  效果:

        

  

posted @ 2015-01-18 14:07  onerepublic  阅读(1981)  评论(0编辑  收藏  举报