android:gravity=“bottom|center_horizontal“的妙用
今天,在java SE课堂上,老师讲逻辑或“|”表示:左侧条件成立,也会继续执行右侧条件。例如:
int x=5;
if((x>1)|(x/0==1)){ //即使左侧的x>1成立,x/0也会继续执行,所以会抛异常reture ture;
}
这让我联想到Android布局中常见的
android:gravity="bottom|center_horizontal"
并不是“或”的意思,但是和逻辑或相同的是,两边的条件都要执行。在这个语句中 | 不表示或,而是多选。即gravity的属性是可以多选的。gravity是LinearLayout的一个属性。
例如, 我们经常想在一个垂直排列的布局中,使button位于底部并且居中,如下图:
如果你不知道bottom和center_horizontal可以同时设置,你就只能在LinearLayout中设置宽度全屏,android:gravity="bottom",然后在button里设置android:layout_gravity="center_horizontal", 才能实现效果。代码如下:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="fill_parent"android:layout_height="fill_parent"android:gravity="bottom"android:orientation="vertical" ><Buttonandroid:id="@+id/button1"android:layout_width="200dp"android:layout_height="100dp"android:layout_gravity="center_horizontal"android:textSize="30sp"android:text="确定" />
</LinearLayout>
但是,如果你知道 android:gravity="bottom|center_horizontal",那就简单多了,代码如下:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"android:layout_width="fill_parent"android:layout_height="fill_parent"android:gravity="bottom|center_horizontal"android:orientation="vertical" ><Buttonandroid:id="@+id/button1"android:layout_width="200dp"android:layout_height="100dp"android:text="确定"android:textSize="30sp" />
</LinearLayout>
与之相似的layout_gravity也是可以多选的。但是layout_gravity有局限,假如LinearLayout 的orientation设定为垂直,那么Button 的layout_gravity中的属性,就只有水平方向上的left,right,center_horizontal起效,垂直方向上的top,bottom,center_vertical都不起效,这个原因在《第一行代码 第2版》的第96页有介绍,大致意思就是垂直方向上的距离是变化的。我们不可能同时选top|center_vertical,靠上又垂直居中这是矛盾的。所以,layout_gravity中“|”几乎不用,比起gravity,layout_gravity是有局限的。
android:gravity=“bottom|center_horizontal“的妙用相关推荐
- android:layout_gravity和android:gravity的区别
1.首先来看看android:layout_gravity和android:gravity的使用区别. android:gravity: 这个是针对控件里的元素来说的,用来控制元素在该控件里的显示位置 ...
- android:layout_gravity和android:gravity
本文转载自:http://blog.csdn.net/dekunchenivan/article/details/6718678# gravity的中文意思就是"重心",就是表示v ...
- android:gravity=quot;centerquot;,android:layout_gravity=bottom不起作用问题
布局layout时, 发现设置了android:layout_gravity="bottom"后view并没有底对齐, 查了下, 原来如下: 对于 LinearLayout 当 a ...
- android gravity和layout_gravity区别
gravity:属性是指定当前控件内容显示的位置. 里面有:left 左 ,right 右, top 上, bottom下 layout_gravity:属性是指定当前控件在父元素的位置 里面有 to ...
- android:layout_gravity 和 android:gravity 的区别
gravity 这个英文单词是重心的意思,在这里就表示停靠位置的意思. android:layout_gravity 和 android:gravity 的区别 从名字上可以看到,android:gr ...
- android:layout_gravity和android:gravity属性的区别
android:gravity / android:layout_gravity区别: android:gravity 是设置该view里面的内容相对于该view的位置,例如设置button里面的te ...
- android gravity参数,Gravity - [ Android中文手册 ] - 在线原生手册 - php中文网
Gravity 版本:Android 4.0 r1 结构 继承关系 public class Gravity extends Object java.lang.Object android.view. ...
- Android属性(android:gravity)的说明
官方网址:http://developer.android.com/reference/android/R.attr.html#gravity 它(android:gravity)指明了一个对象,在其 ...
- android gravity 代码,android:layout_gravity和android:gravity属性的区别
android:gravity / android:layout_gravity区别: android:gravity 是设置该view类里面的内容相对于该view的位置,例如设置button里面的t ...
最新文章
- Access和Access VBA学习总结
- PHPEXCEL导出excel表格中长数字文本自动转为科学计数法的解决办法
- 依据地图上的经纬度坐标计算某个点到多边形各边的距离
- sql中count(0),count(1),count(),count(列名)
- 在wordpress中使用 markdown:wp-markdown插件的使用方法
- 数论基础知识点整理(基础篇)
- iOS的iPhone最全尺寸、分辨率、PPI、Reader总结(包括XS、XS Max、XR)
- 【C基础练习题】Week9:凯撒密码 | 按空格切分字符串 | 单词折半拆分
- 【rviz】出现“For frame [laser]: Fixed Frame [map] does not exist”错误
- css实现元素翻转(不是旋转)
- nginx正向代理https
- MBA-day31 绝对值的几何意义
- 黑莓愿意递交用户数据,协助各国警方执法
- spine教程入门(不错的教程博客)
- Openvas的安装调试
- Foursquare
- 奇异值分解——matlab中svd函数用法总结
- unity3d布料特效的简单使用
- 转载:Notepad++的64位HexEditor
- 江西师范大学计算机考研资料汇总