androidgravity属性效果图1:
布局⽂件xml内容如下:
[html]
1. <?xml version="1.0" encoding="utf-8"?>
2. <LinearLayout xmlns:android="schemas.android/apk/res/android"
3.    android:layout_width="fill_parent"
4.    android:layout_height="fill_parent"
5.    android:orientation="vertical">
6.
7.    <TextView android:id="@+id/TextView01"
8.        android:layout_width="fill_parent"
9.        android:layout_height="35dp"
10.        android:text="top"
11.        android:gravity="top"
12.        android:textColor="#ffffff"
13.        android:background="#ff0000"
14.        android:layout_margin="1px"/>
15.
16.    <TextView android:id="@+id/TextView02"
17.        android:layout_width="fill_parent"
18.        android:layout_height="35dp"
19.        android:text="bottom"
20.        android:gravity="bottom"
21.        android:textColor="#ffffff"
22.        android:background="#ff0000"
23.        android:layout_margin="1px"/>
24.
25.    <TextView android:id="@+id/TextView03"
htmlbutton属性
26.        android:layout_width="fill_parent"
27.        android:layout_height="35dp"
28.        android:text="left"
29.        android:gravity="left"
30.        android:textColor="#ffffff"
31.        android:background="#ff0000"
32.        android:layout_margin="1px"/>
33.
34.    <TextView android:id="@+id/TextView04"
35.        android:layout_width="fill_parent"
36.        android:layout_height="35dp"
37.        android:text="right"
38.        android:gravity="right"
39.        android:textColor="#ffffff"
40.        android:background="#ff0000"
41.        android:layout_margin="1px"/>
42.
43.    <TextView android:id="@+id/TextView05"
44.        android:layout_width="fill_parent"
45.        android:layout_height="35dp"
46.        android:text="center_vertical"
47.        android:gravity="center_vertical"
48.        android:textColor="#ffffff"
49.        android:background="#ff0000"
50.        android:layout_margin="1px"/>
51.
52.    <TextView android:id="@+id/TextView06"
53.        android:layout_width="fill_parent"
54.        android:layout_height="35dp"
55.        android:text="fill_vertical"
56.        android:gravity="fill_vertical"
57.        android:textColor="#ffffff"
58.        android:background="#ff0000"
59.        android:layout_margin="1px"/>
60.
61.    <TextView android:id="@+id/TextView07"
62.        android:layout_width="fill_parent"
63.        android:layout_height="35dp"
64.        android:text="center_horizontal"
65.        android:gravity="center_horizontal"
66.        android:textColor="#ffffff"
67.        android:background="#ff0000"
68.        android:layout_margin="1px"/>
69.
70.    <TextView android:id="@+id/TextView08"
71.        android:layout_width="fill_parent"
72.        android:layout_height="35dp"
73.        android:text="fill_horizontal"
74.        android:gravity="fill_horizontal"
75.        android:textColor="#ffffff"
76.        android:background="#ff0000"
77.        android:layout_margin="1px"/>
78.
79.    <TextView android:id="@+id/TextView09"
80.        android:layout_width="fill_parent"
81.        android:layout_height="35dp"
82.        android:text="center"
83.        android:gravity="center"
84.        android:textColor="#ffffff"
85.        android:background="#ff0000"
86.        android:layout_margin="1px"/>
87.
88.    <TextView android:id="@+id/TextView10"
89.        android:layout_width="fill_parent"
90.        android:layout_height="35dp"
91.        android:text="fill"
92.        android:gravity="fill"
93.        android:textColor="#ffffff"
94.        android:background="#ff0000"
95.        android:layout_margin="1px"/>
96.
97.    <TextView android:id="@+id/TextView11"
98.        android:layout_width="fill_parent"
99.        android:layout_height="35dp"
100.        android:text="clip_vertical"
101.        android:gravity="clip_vertical"
102.        android:textColor="#ffffff"
103.        android:background="#ff0000"
104.        android:layout_margin="1px"/>
105.
106.    <TextView android:id="@+id/TextView12"
107.        android:layout_width="fill_parent"
108.        android:layout_height="35dp"
109.        android:text="clip_horizontal"
110.        android:gravity="clip_horizontal"
111.        android:textColor="#ffffff"
112.        android:background="#ff0000"
113.        android:layout_margin="1px"/>
114.
115. </LinearLayout>
1.⾸先来看看android:layout_gravity和android:gravity的使⽤区别。
android:gravity:
这个是针对控件⾥的元素来说的,⽤来控制元素在该控件⾥的显⽰位置。例如,在⼀个Button按钮控
件中设置如下两个属性,android:gravity="left"和android:text="提交",这时Button上的⽂字“提交”将会位于Button的左部。
android:layout_gravity:
这个是针对控件本⾝⽽⾔,⽤来控制该控件在包含该控件的⽗控件中的位置。同样,当我们在Button按钮控件中设置android:layout_gravity="left"属性时,表⽰该Button按钮将位于界⾯的左部。
2.属性值:
这两个属性可选的值有:top、bottom、left、right、center_vertical、fill_vertical、center_horizontal、fill_horizontal、center、fill、clip_vertical。
⼀个属性可以包含多个值,需⽤“|”分开。其含义如下:
top将对象放在其容器的顶部,不改变其⼤⼩.
bottom将对象放在其容器的底部,不改变其⼤⼩.
left将对象放在其容器的左侧,不改变其⼤⼩.
right将对象放在其容器的右侧,不改变其⼤⼩.
center_vertical 将对象纵向居中,不改变其⼤⼩.
垂直对齐⽅式:垂直⽅向上居中对齐。
fill_vertical 必要的时候增加对象的纵向⼤⼩,以完全充满其容器. 垂直⽅向填充
center_horizontal 将对象横向居中,不改变其⼤⼩.
⽔平对齐⽅式:⽔平⽅向上居中对齐
fill_horizontal 必要的时候增加对象的横向⼤⼩,以完全充满其容器. ⽔平⽅向填充
center将对象横纵居中,不改变其⼤⼩.
fill必要的时候增加对象的横纵向⼤⼩,以完全充满其容器.
clip_vertical 附加选项,⽤于按照容器的边来剪切对象的顶部和/或底部的内容. 剪切基于其纵向对齐设置:顶部对齐时,剪切底部;底部对齐时剪切顶部;除此之外剪切顶部和底部.
垂直⽅向裁剪
clip_horizontal 附加选项,⽤于按照容器的边来剪切对象的左侧和/或右侧的内容. 剪切基于其横向对齐设置:左侧对齐时,剪切右侧;右侧对齐时剪切左侧;除此之外剪切左侧和右侧.
⽔平⽅向裁剪
我们主要来看看center_vertical和center_horizontal两个属性值,center_vertical是指将对象在垂直⽅向上居中对齐,即在从上到下的⽅向上选择中间的位置放好;center_horizontal是指将对象⽔平⽅向上居中对齐,即在从左到右的⽅向上选择中间的位置放好。
3.特殊情况
当我们采⽤LinearLayout布局时,有以下特殊情况需要我们注意:
(1)当 android:orientation="vertical"  时,android:layout_gravity只有⽔平⽅向的设置才起作⽤,垂直⽅向的设置不起作⽤。即:
left,right,center_horizontal 是⽣效的。
(2)当 android:orientation="horizontal" 时,android:layout_gravity只有垂直⽅向的设置才起作⽤,⽔平⽅向的设置不起作⽤。即:
top,bottom,center_vertical 是⽣效的。
01. <?xml version="1.0"encoding="utf-8"?>
02. <LinearLayout xmlns:android="schemas.android/apk/res/android"
03. android:orientation="vertical"
04. android:layout_width="fill_parent"
05. android:layout_height="fill_parent"
06. >
07. <TextView
08. android:layout_width="100dip"
09. android:layout_height="100dip"
10. android:layout_gravity="bottom|center_horizontal"
11. android:gravity="center|bottom"
12. android:background="#00FF00"
13. android:text="@string/textview"
14. />
15.
15.
16. <Button
17. android:layout_width="100dip"
18. android:layout_height="100dip"
19. android:layout_gravity="bottom|left"
20. android:gravity="left|top"
21. android:background="#FF0000"
22. android:text="@string/button"
23. />
24. </LinearLayout>
其效果如图:
在TextView中,我们设置了android:layout_gravity="bottom|center_horizontal",但该TextView并没有显⽰在屏幕的下⽅正中央,表明只
有center_horizontal属性起了作⽤,这正是因为我们使⽤了LinearLayout布局,并且其android:orientation="vertical",只有⽔平⽅向的设置才会起作⽤,其他⽅向则会失效。同样,Button也⼀样。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。