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 是生效的。
下面以一个例子说明:(本例来源于:http://blog.csdn.net/dekunchenivan/article/details/6718678)
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/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中,我们设置了android:layout_gravity="bottom|center_horizontal" ,但该TextView并没有显示在屏幕的下方正中央,表明只有center_horizontal属性起了作用,这正是因为我们使用了LinearLayout布局,并且其android:orientation="vertical",只有水平方向的设置才会起作用,其他方向则会失效。同样,Button也一样。
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持!
# layout_gravity
# gravity
# Android中gravity、layout_gravity、padding、margin的区别小结
# Android中gravity与layout_gravity的使用区别分析
# 不改变
# 放在
# 是指
# 来看看
# 当我们
# 即在
# 放好
# 不起作用
# 多个
# 将会
# 才会
# 这两个
# 可选
# 如图
# 则会
# 但该
# 需用
# 本例
# 正中央
# 从上到下
相关文章:
如何用腾讯建站主机快速创建免费网站?
南京网站制作费用,南京远驱官方网站?
建站之星免费版是否永久可用?
家庭建站与云服务器建站,如何选择更优?
如何在IIS服务器上快速部署高效网站?
制作国外网站的软件,国外有哪些比较优质的网站推荐?
成都响应式网站开发,dw怎么把手机适应页面变成网页?
建站VPS推荐:2025年高性能服务器配置指南
微网站制作教程,我微信里的网站怎么才能复制到浏览器里?
广州网站建站公司选择指南:建站流程与SEO优化关键词解析
制作网站怎么制作,*游戏网站怎么搭建?
如何高效完成自助建站业务培训?
网站制作免费,什么网站能看正片电影?
如何基于云服务器快速搭建网站及云盘系统?
清除minerd进程的简单方法
建站之星导航如何优化提升用户体验?
,有什么在线背英语单词效率比较高的网站?
宝塔建站无法访问?如何排查配置与端口问题?
相亲简历制作网站推荐大全,新相亲大会主持人小萍萍资料?
如何在云主机上快速搭建网站?
建站之星如何配置系统实现高效建站?
Python文件管理规范_工程实践说明【指导】
如何在Windows 2008云服务器安全搭建网站?
,柠檬视频怎样兑换vip?
大连网站设计制作招聘信息,大连投诉网站有哪些?
打鱼网站制作软件,波克捕鱼官方号怎么注册?
网站视频制作书签怎么做,ie浏览器怎么将网站固定在书签工具栏?
如何快速搭建高效服务器建站系统?
如何通过主机屋免费建站教程十分钟搭建网站?
保定网站制作方案定制,保定招聘的渠道有哪些?找工作的人一般都去哪里看招聘信息?
浅谈Javascript中的Label语句
常州自助建站工具推荐:低成本搭建与模板选择技巧
网站制作的软件有哪些,制作微信公众号除了秀米还有哪些比较好用的平台?
宝塔建站教程:一键部署配置流程与SEO优化实战指南
如何有效防御Web建站篡改攻击?
整人网站在线制作软件,整蛊网站退不出去必须要打我是白痴才能出去?
如何在IIS管理器中快速创建并配置网站?
如何登录建站主机?访问步骤全解析
如何用低价快速搭建高质量网站?
*服务器网站为何频现安全漏洞?
专业网站建设制作报价,网页设计制作要考什么证?
如何用狗爹虚拟主机快速搭建网站?
C#如何使用XPathNavigator高效查询XML
香港服务器建站指南:免备案优势与SEO优化技巧全解析
如何在IIS中新建站点并解决端口绑定冲突?
北京企业网站设计制作公司,北京铁路集团官方网站?
成都网站制作公司哪家好,四川省职工服务网是做什么用?
如何用wdcp快速搭建高效网站?
东莞市网站制作公司有哪些,东莞找工作用什么网站好?
香港服务器WordPress建站指南:SEO优化与高效部署策略
*请认真填写需求信息,我们会在24小时内与您取得联系。