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>

  效果:

        

  

你可能感兴趣的:(Android布局)