安卓布局中layout_gravity和gravity的区别
2016-12-20 09:34
176 查看
在开发中,我们经常搞不清楚layout_gravity和gravity的区别,有时想居中得试很多次,包括干了几年开发的也可能是这样
其实gravity相当于是说自己的内容跟自己
android:gravity 属性是对该view中内容的限定.比如一个button 上面的text. 你可以设置该text 相对于view的靠左,靠右等位置.
android:layout_gravity是用来设置该view相对与父view 的位置.比如一个button 在linearlayout里,你想把该button放在linearlayout里靠左、靠右等位置就可以通过该属性设置.
其实这个东西跟我们学习padding和margin相似,padding相当于android:gravity,margin相当于layout_gravity,前者是内容相对于自身,后者
是自身相对于父容器,其实一般情况前,当父容器是线性布局时,他的子view中才会有layout_gravity这个属性接下来看下布局文件和效果加深理解
效果如下:
在代码中我们可以看到,在一个绿色的线性布局中,里面有一个蓝色背景的textview,线性布局中有个gravity = center的属性,他的作用的把他里面的内容textview居中,对于线性布局而言,子view就是他的内容,对于textview或者button而言,文字就是他的内容,在textview中,gravity=center相当于是让文字居中
接下来我把布局改一下再看效果:
通过这个效果图我们发现 ,在线性布局中,因为要么水平要么垂直,当在子view中设置
android:layout_gravity="center"
时,其实不是在正中间,要么在水平要么在垂直中间,如果你想要子view在父容器中间,那么需要在父容器中设置gravity="center"
写啦这么多,希望你明白他们的区别啦
其实gravity相当于是说自己的内容跟自己
android:gravity 属性是对该view中内容的限定.比如一个button 上面的text. 你可以设置该text 相对于view的靠左,靠右等位置.
android:layout_gravity是用来设置该view相对与父view 的位置.比如一个button 在linearlayout里,你想把该button放在linearlayout里靠左、靠右等位置就可以通过该属性设置.
其实这个东西跟我们学习padding和margin相似,padding相当于android:gravity,margin相当于layout_gravity,前者是内容相对于自身,后者
是自身相对于父容器,其实一般情况前,当父容器是线性布局时,他的子view中才会有layout_gravity这个属性接下来看下布局文件和效果加深理解
效果如下:
在代码中我们可以看到,在一个绿色的线性布局中,里面有一个蓝色背景的textview,线性布局中有个gravity = center的属性,他的作用的把他里面的内容textview居中,对于线性布局而言,子view就是他的内容,对于textview或者button而言,文字就是他的内容,在textview中,gravity=center相当于是让文字居中
接下来我把布局改一下再看效果:
通过这个效果图我们发现 ,在线性布局中,因为要么水平要么垂直,当在子view中设置
android:layout_gravity="center"
时,其实不是在正中间,要么在水平要么在垂直中间,如果你想要子view在父容器中间,那么需要在父容器中设置gravity="center"
写啦这么多,希望你明白他们的区别啦
相关文章推荐
- 安卓开发——布局:layout_gravity与gravity两种属性的区别
- 安卓页面布局中android:gravity与android:layout_gravity的区别
- Android布局之 android:gravity和android:layout_gravity区别与联系
- Android布局:gravity与layout_gravity的区别
- Android线性布局之layout_gravity和gravity区别
- Android线性布局之layout_gravity和gravity区别
- android布局属性中layout_gravity和gravity区别
- Android布局中,layout_gravity和gravity的区别
- Android布局(一)layout_gravity 属性和 gravity属性的区别
- Android:layout_gravity与gravity的设置与区别(java代码&xml布局文件)
- 安卓布局——layout_gravity和gravity的用法
- Android布局:gravity与layout_gravity的区别
- Android布局中gravity和layout_gravity的区别
- 安卓:gravity和layout_gravity; padding和margin区别
- [Android UI布局]android:gravit与android:layout_gravity的区别
- linearlayout 中android:gravity与android:layout_gravity的区别以及用代码布局实现
- Android中gravity与layout_gravity的区别
- Android中gravity与layout_gravity的区别
- android:gravity与android:layout_gravity的区别
- android:layout_gravity和android:gravity属性的区别