[Android布局学习系列]

  1.Android 布局学习之——Layout(布局)详解一

  2.Android 布局学习之——Layout(布局)详解二(常见布局和布局参数)

  3.Android 布局学习之——LinearLayout的layout_weight属性

  4.Android 布局学习之——LinearLayout属性baselineAligned的作用及baseline

 

   android:gravity :

       定义了一个对象在X,Y坐标轴,在它自己的边界内,应该如何放置它的内容。是上(top)还是下(bottom),左(left)或是右(right)。

     

       比如一个TextView,设置它的android:gravity,对它的内容的位置有影响。

      

    

   android:layout_gravity :

      标准的gravity常量,是子组件提供给它的父组件的。定义了子View在封闭的布局(layout)中在X,Y方向上应该如何被放置。

    

     如一个方向是垂直的LinerLayout,布局里的TextView的layout_gravity对它在布局中的位置有影响。

   

     如果需要设置多个gravity值,用”|”符号分隔。如

 

  1. android:layout_gravity="right|bottom"

    android:gravity="right|bottom"

     看名字就能看出一些区别:android:layout_gravity和layout有关。

     android:gravity  设置 View的内容的gravity。

    android:layout_gravity  设置View或Layout的在它父布局中的gravity。

   

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

  效果:

        

  

版权声明:本文为JohnTsai原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/JohnTsai/p/4231729.html