全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

android:layout_gravity和android:gravity的区别

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小时内与您取得联系。