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的使用区别分析
# 不改变
# 放在
# 是指
# 来看看
# 当我们
# 即在
# 放好
# 不起作用
# 多个
# 将会
# 才会
# 这两个
# 可选
# 如图
# 则会
# 但该
# 需用
# 本例
# 正中央
# 从上到下
相关文章:
开源网站制作软件,开源网站什么意思?
黑客如何通过漏洞一步步攻陷网站服务器?
制作充值网站的软件,做人力招聘为什么要自己交端口钱?
常州自助建站工具推荐:低成本搭建与模板选择技巧
,有什么在线背英语单词效率比较高的网站?
如何在阿里云域名上完成建站全流程?
建站之星手机一键生成:多端自适应+小程序开发快速建站指南
建站之星多图banner生成与模板自定义指南
建站之星2.7模板快速切换与批量管理功能操作指南
网站制作说明怎么写,简述网页设计的流程并说明原因?
香港服务器网站生成指南:免费资源整合与高速稳定配置方案
如何通过PHP快速构建高效问答网站功能?
北京网站制作网页,网站升级改版需要多久?
高防服务器:AI智能防御DDoS攻击与数据安全保障
建站之星体验版:智能建站系统+响应式设计,多端适配快速建站
如何快速搭建个人网站并优化SEO?
宝塔新建站点报错如何解决?
建站之星安装需要哪些步骤及注意事项?
名字制作网站免费,所有小说网站的名字?
深入理解Android中的xmlns:tools属性
高端建站如何打造兼具美学与转化的品牌官网?
昆明高端网站制作公司,昆明公租房申请网上登录入口?
制作网站公司那家好,网络公司是做什么的?
潍坊网站制作公司有哪些,潍坊哪家招聘网站好?
矢量图网站制作软件,用千图网的一张矢量图做公司app首页,该网站并未说明版权等问题,这样做算不算侵权?应该如何解决?
家族网站制作贴纸教程视频,用豆子做粘帖画怎么制作?
建站之星图片链接生成指南:自助建站与智能设计教程
建站之星云端配置指南:模板选择与SEO优化一键生成
如何快速生成凡客建站的专业级图册?
建站之星如何通过成品分离优化网站效率?
网站制作软件有哪些,制图软件有哪些?
网站好制作吗知乎,网站开发好学吗?有什么技巧?
红河网站制作公司,红河事业单位身份证如何上传?
台州网站建设制作公司,浙江手机无犯罪记录证明怎么开?
如何通过.red域名打造高辨识度品牌网站?
如何用花生壳三步快速搭建专属网站?
大同网页,大同瑞慈医院官网?
开心动漫网站制作软件下载,十分开心动画为何停播?
Android使用GridView实现日历的简单功能
建站中国官网:模板定制+SEO优化+建站流程一站式指南
怎么制作一个起泡网,水泡粪全漏粪育肥舍冬季氨气超过25ppm,可以有哪些措施降低舍内氨气水平?
网站制作公司广州有几家,广州尚艺美发学校网站是多少?
C++时间戳转换成日期时间的步骤和示例代码
如何高效搭建专业期货交易平台网站?
免费网站制作appp,免费制作app哪个平台好?
手机网站制作平台,手机靓号代理商怎么制作属于自己的手机靓号网站?
如何在建站主机中优化服务器配置?
高端云建站费用究竟需要多少预算?
GML (Geography Markup Language)是什么,它如何用XML来表示地理空间信息?
电脑免费海报制作网站推荐,招聘海报哪个网站多?
*请认真填写需求信息,我们会在24小时内与您取得联系。