gravity的中文意思就是”重心“,就是表示view橫向和縱向的??课恢?/p>
android:gravity:是對(duì)view控件本身來說的,是用來設(shè)置view本身的內(nèi)容應(yīng)該顯示在view的什么位置,默認(rèn)值是左側(cè)。
android:layout_gravity:是相對(duì)于包含改元素的父元素來說的,設(shè)置該元素在父元素的什么位置
比如TextView:
android:layout_gravity表示TextView在界面上的位置,android:gravity表示TextView文本在TextView的什么位置,默認(rèn)值是左側(cè).
基本選項(xiàng)值:
Value |
Description |
top |
Put the object at the top of its container, not
changing its size.
將對(duì)象放在其容器的頂部,不改變其大小. |
bottom |
Put the object at the bottom of its container, not
changing its size.
將對(duì)象放在其容器的底部,不改變其大小. |
left |
Put the object at the left edge of its container,
not changing its size.
將對(duì)象放在其容器的左側(cè),不改變其大小. |
right |
Put the object at the right edge of its container,
not changing its size.
將對(duì)象放在其容器的右側(cè),不改變其大小. |
center_vertical |
Place object in the vertical center of its
container, not changing its size.
將對(duì)象縱向居中,不改變其大小.
垂直對(duì)齊方式:垂直方向上居中對(duì)齊。 |
fill_vertical |
Grow the vertical size of the object if needed so
it completely fills its container.
必要的時(shí)候增加對(duì)象的縱向大小,以完全充滿其容器.
垂直方向填充 |
center_horizontal |
Place object in the horizontal center of its
container, not changing its size.
將對(duì)象橫向居中,不改變其大小.
水平對(duì)齊方式:水平方向上居中對(duì)齊 |
fill_horizontal |
Grow the horizontal size of the object if needed so
it completely fills its container.
必要的時(shí)候增加對(duì)象的橫向大小,以完全充滿其容器.
水平方向填充 |
center |
Place the object in the center of its container in
both the vertical and horizontal axis, not changing its size.
將對(duì)象橫縱居中,不改變其大小. |
fill |
Grow the horizontal and vertical size of the object
if needed so it completely fills its container. This is the
default.
必要的時(shí)候增加對(duì)象的橫縱向大小,以完全充滿其容器. |
clip_vertical |
Additional option that can be set to have the top
and/or bottom edges of the child clipped to its container's bounds.
The clip is based on the vertical gravity: a top gravity clips the
bottom edge, a bottom gravity clips the top edge, and neither clips
both edges.
附加選項(xiàng),用于按照容器的邊來剪切對(duì)象的頂部和/或底部的內(nèi)容.
剪切基于其縱向?qū)R設(shè)置:頂部對(duì)齊時(shí),剪切底部;底部對(duì)齊時(shí)剪切頂部;除此之外剪切頂部和底部.
垂直方向裁剪
|
clip_horizontal |
Additional option that can be set to have the left
and/or right edges of the child clipped to its container's bounds.
The clip is based on the horizontal gravity: a left gravity clips
the right edge, a right gravity clips the left edge, and neither
clips both edges.
附加選項(xiàng),用于按照容器的邊來剪切對(duì)象的左側(cè)和/或右側(cè)的內(nèi)容.
剪切基于其橫向?qū)R設(shè)置:左側(cè)對(duì)齊時(shí),剪切右側(cè);右側(cè)對(duì)齊時(shí)剪切左側(cè);除此之外剪切左側(cè)和右側(cè).
水平方向裁剪
|
如下例子
-
<?xml version="1.0" encoding="utf-8"?>
-
<LinearLayout xmlns:android="http://schemas./apk/res/android"
-
android:orientation="vertical"
-
android:layout_width="fill_parent"
-
android:layout_height="fill_parent"
-
>
-
<TextView
-
android:layout_width="100dip"
-
android:layout_height="100dip"
-
android:layout_gravity="bottom|center_horizontal"
-
android:gravity="center|bottom"
-
android:background="#00FF00"
-
android:text="@string/textview"
-
/>
-
-
<Button
-
android:layout_width="100dip"
-
android:layout_height="100dip"
-
android:layout_gravity="bottom|left"
-
android:gravity="left|top"
-
android:background="#FF0000"
-
android:text="@string/button"
-
/>
-
</LinearLayout>
注意,TextView并沒有按照我
們?cè)O(shè)置的android:layout_gravity屬性那樣顯示在界面的下方正中央,Button也沒有顯示在界面的左下方。這是因?yàn)槲覀冊(cè)O(shè)置了
LinearLayout的android:orientation屬性為"vertical"。對(duì)于LinearLayout如果設(shè)置
android:orientation="vertical",那么android:layout_gravity的設(shè)置只在水平方向生效,如上圖
TextView顯示在屏幕的水平正中央,而Button顯示在水平方向的最左邊;如果設(shè)置
android:orientation="horizontal",那么android:layout_gravity屬性只在垂直方向生效
|