gravity的中文意思就是”重心“,就是表示view横向和纵向的停靠位置
android:gravity:是对view控件本身来说的,是用来设置view本身的内容应该显示在view的什么位置,默认值是左侧。
android:layout_gravity:是相对于包含改元素的父元素来说的,设置该元素在父元素的什么位置
比如TextView: android:layout_gravity表示TextView在界面上的位置,android:gravity表示TextView文本在TextView的什么位置,默认值是左侧.
基本选项值:
Value |
Description |
top |
Put the object at the top of its container, not changing its size.
将对象放在其容器的顶部,不改变其大小. |
bottom |
Put the object at the bottom of its container, not changing its size.
将对象放在其容器的底部,不改变其大小. |
left |
Put the object at the left edge of its container, not changing its size.
将对象放在其容器的左侧,不改变其大小. |
right |
Put the object at the right edge of its container, not changing its size.
将对象放在其容器的右侧,不改变其大小. |
center_vertical |
Place object in the vertical center of its container, not changing its size.
将对象纵向居中,不改变其大小.
垂直对齐方式:垂直方向上居中对齐。 |
fill_vertical |
Grow the vertical size of the object if needed so it completely fills its container.
必要的时候增加对象的纵向大小,以完全充满其容器.
垂直方向填充 |
center_horizontal |
Place object in the horizontal center of its container, not changing its size.
将对象横向居中,不改变其大小.
水平对齐方式:水平方向上居中对齐 |
fill_horizontal |
Grow the horizontal size of the object if needed so it completely fills its container.
必要的时候增加对象的横向大小,以完全充满其容器.
水平方向填充 |
center |
Place the object in the center of its container in both the vertical and horizontal axis, not changing its size.
将对象横纵居中,不改变其大小. |
fill |
Grow the horizontal and vertical size of the object if needed so it completely fills its container. This is the default.
必要的时候增加对象的横纵向大小,以完全充满其容器. |
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.
附加选项,用于按照容器的边来剪切对象的顶部和/或底部的内容. 剪切基于其纵向对齐设置:顶部对齐时,剪切底部;底部对齐时剪切顶部;除此之外剪切顶部和底部.
垂直方向裁剪
|
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.
附加选项,用于按照容器的边来剪切对象的左侧和/或右侧的内容. 剪切基于其横向对齐设置:左侧对齐时,剪切右侧;右侧对齐时剪切左侧;除此之外剪切左侧和右侧.
水平方向裁剪
|
如下例子
- <?xml <wbr></wbr>version="1.0"<wbr></wbr>encoding="utf-8"?><wbr><wbr></wbr></wbr>
- <LinearLayout <wbr></wbr>xmlns:android="http://schemas.android.com/apk/res/android"<wbr><wbr></wbr></wbr>
- <wbr><wbr><wbr><wbr><span>android:orientation</span><span>=</span><span>"vertical"</span><span><wbr><wbr></wbr></wbr></span></wbr></wbr></wbr></wbr>
- <wbr><wbr><wbr><wbr><span>android:layout_width</span><span>=</span><span>"fill_parent"</span><span><wbr><wbr></wbr></wbr></span></wbr></wbr></wbr></wbr>
- <wbr><wbr><wbr><wbr><span>android:layout_height</span><span>=</span><span>"fill_parent"</span><span><wbr><wbr></wbr></wbr></span></wbr></wbr></wbr></wbr>
- <wbr><wbr><wbr><wbr><span>></span><span> <wbr><wbr></wbr></wbr></span></wbr></wbr></wbr></wbr>
- <wbr><wbr><wbr><wbr><span><</span><span>TextView</span><span> <wbr><wbr><wbr><wbr></wbr></wbr></wbr></wbr></span></wbr></wbr></wbr></wbr>
- <wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><span>android:layout_width</span><span>=</span><span>"100dip"</span><span><wbr><wbr><wbr></wbr></wbr></wbr></span></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
- <wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><span>android:layout_height</span><span>=</span><span>"100dip"</span><span><wbr><wbr></wbr></wbr></span></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
- <wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><span>android:layout_gravity</span><span>=</span><span>"bottom|center_horizontal"</span><span><wbr><wbr></wbr></wbr></span></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
- <wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><span>android:gravity</span><span>=</span><span>"center|bottom"</span><span><wbr><wbr></wbr></wbr></span></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
- <wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><span>android:background</span><span>=</span><span>"#00FF00"</span><span><wbr><wbr></wbr></wbr></span></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
- <wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><span>android:text</span><span>=</span><span>"@string/textview"</span><span><wbr><wbr></wbr></wbr></span></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
- <wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><span>/></span><span> <wbr><wbr></wbr></wbr></span></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
- <wbr><wbr></wbr></wbr>
- <wbr><wbr><wbr><wbr><span><</span><span>Button</span><span> <wbr><wbr></wbr></wbr></span></wbr></wbr></wbr></wbr>
- <wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><span>android:layout_width</span><span>=</span><span>"100dip"</span><span><wbr><wbr></wbr></wbr></span></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
- <wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><span>android:layout_height</span><span>=</span><span>"100dip"</span><span><wbr><wbr></wbr></wbr></span></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
- <wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><span>android:layout_gravity</span><span>=</span><span>"bottom|left"</span><span><wbr><wbr></wbr></wbr></span></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
- <wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><span>android:gravity</span><span>=</span><span>"left|top"</span><span><wbr><wbr></wbr></wbr></span></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
- <wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><span>android:background</span><span>=</span><span>"#FF0000"</span><span><wbr><wbr></wbr></wbr></span></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
- <wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><span>android:text</span><span>=</span><span>"@string/button"</span><span><wbr><wbr></wbr></wbr></span></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
- <wbr><wbr><wbr><wbr><wbr><wbr><wbr><wbr><span>/></span><span> <wbr><wbr></wbr></wbr></span></wbr></wbr></wbr></wbr></wbr></wbr></wbr></wbr>
- </LinearLayout> <wbr><wbr></wbr></wbr>
注意,TextView并没有按照我们设置的android:layout_gravity属性那样显示在界面的下方正中央,Button也没有显示在界面的左下方。这是因为我们设置了 LinearLayout的android:orientation属性为"vertical"。对于LinearLayout如果设置 android:orientation="vertical",那么android:layout_gravity的设置只在水平方向生效,如上图
TextView显示在屏幕的水平正中央,而Button显示在水平方向的最左边;如果设置 android:orientation="horizontal",那么android:layout_gravity属性只在垂直方向生效
分享到:
相关推荐
android:layout_gravity 属性详细解读
layout_gravity 在 线性布局 和 帧布局 中的应用 通过代码 直观的展示 layout_gravity 和 gravity 的区别
1.首先来看看Android:layout_gravity和android:gravity的使用区别。 android:gravity: 这个是针对控件里的元素来说的,用来控制元素在该控件里的显示位置。例如,在一个Button按钮控件中设置如下两个属性, android...
android:layout_gravity:设置控件本身相对于父控件的显示位置。 看下如下代码段 代码如下:<?xml version=”1.0″ encoding=”utf-8″?><!– android:gravity设置了按钮上面的文字的显示位置,而android:...
Android中gravity与layout_gravity的区别
<ImageView android:layout_width="wrap_content" android:layout_height="100dp" android:src="@drawable/img" android:gravity="center" android:layout_span="4"/> </TableRow> <TableRow > <TextView/> ...
时钟事件处理,显示签到时间,初学者实用。 android:id="@+id/analogClock01" android:layout_width="wrap_content" android:layout_height="wrap_content" ... android:layout_gravity="center_horizontal"/>
android:layout_width="fill_parent" android:layout_height="fill_parent" android:gravity="center" > <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width=...
layout_centerInParent - 将当前元素放置到其容器内的水平方向和垂直方向的中央位置(类似的属性有 :layout_centerHorizontal, layout_alignParentLeft 等) layout_marginLeft - 设置当前元素相对于其容器的左侧...
android:layout_gravity="center" android:id="@+id/s_v" android:layout_width="wrap_content" android:layout_height="wrap_content" android:switchMinWidth="20dp" android:textOn="on" android:textOff=...
1、gravity与layout_gravity的区别 gravity 属性是对该view 内容的限定.比如一个button 上面的text. 你可以设置该text 在view的靠左,靠右等位置.该属性就干了这个. layout_gravity 是用来设置该view相对与起父...
--xml 调用 <com.triman.android.ui.MyRadioButton ... android:gravity="center" android:text="我的" android:textSize="10dp" /> --设置值,显示气泡 rb_sys_set.setNumberDot(true,String.valueOf(ct));
SwagPoints SwagPoints - An Android custom circular SeekBar that supports max/min range and step settings. Gradle dependencies { ... android:layout_gravity="center" android:padding="64dp
7 android:gravity="right" 8 > <!-- 声明一个 LinearLayout 布局,并设置其属性 --> 9 10 android:text="@string/add" 11 android:id="@+id/Button01" 12 android:layout_width="wrap_content" 13 android:layout_...
android:layout_gravity="center" android:src="@drawable/haizewang_215" />StickerView 也支持位图和绘制。如果sticker可以拉伸,那么高度与宽度属性不能为0。stickerView.addSticker(bitmap) stickerView....
android:layout_gravity="top" android:background="#5AB0EB" > android:id="@+id/sayit_radioGroup" android:layout_width="fill_parent" android:layout_height="38dip" android:layout_alignParentTop=...
android:layout_gravity="center" android:id="@+id/iv1" android:layout_width="30dp" android:layout_height="30dp"/> android:gravity="center" android:text="微信" android:button="@null" android:...
ter_horizontal" android:id="@id/lonyii_mobiledata_btn_icon" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="2.669983dip" android:src="@drawable/akt_...
<com.android.videotest2.HorizontalTextView android:id="@+id/cusomtTextView" android:layout_above="@id/videoBtn" android:layout_width="match_parent" ... android:gravity="center" />
android:gravity="fill_horizontal" > android:id="@+id/address" android:layout_width="fill_parent" android:layout_height="wrap_content" android:hint="请填写收信号码" /> android:id="@+id/...