android:layout_gravity 和android:gravity 区别 -------浅谈
2016-01-13 23:28
597 查看
android:gravity是调整元素本身的内容或元素包含的子元素显示的位置,默认是显示在左侧
android:layout_gravity是相对与它的父元素说的,说明元素显示在父元素的什么位置。
比如说Button: android:layout_gravity 表示按钮在界面上的位置。 android:gravity表示Button上的字在button上的位置。
举个例子:
实现的效果图如下:
注意:
对于 LinearLayout
当 android:orientation="vertical" 时, 只有水平方向的设置才起作用,垂直方向的设置不起作用。即:left,right,center_horizontal 是生效的。
当 android:orientation="horizontal" 时, 只有垂直方向的设置才起作用,水平方向的设置不起作用。即:top,bottom,center_vertical 是生效的。
对于RelativeLayout
是没有android:layout_gravity属性的,如要设置必须使用android:layout_centerInParent或android:layout_centerHorizontal或android:layout_centerVertical
对于AbsoluteLayout
是没有android:layout_gravity属性的,只能设置x、y的位置
对于FrameLayout
设置center_vertical是垂直居中,而center_horizontal是水平居中,而center则是水平和垂直都居中
对于TableLayout
每个元素都是一行,设置android:layout_gravit属性没有效果
android:layout_gravity是相对与它的父元素说的,说明元素显示在父元素的什么位置。
比如说Button: android:layout_gravity 表示按钮在界面上的位置。 android:gravity表示Button上的字在button上的位置。
举个例子:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" android:gravity="right|bottom"> <Button android:layout_width="150dip" android:layout_height="150dip" android:text="New Button3" android:layout_gravity="right|top" android:gravity="bottom|center_horizontal" android:id="@+id/button3" /> <Button android:layout_width="150dip" android:layout_height="150dip" android:text="New Button2" android:background="#0f0" android:layout_gravity="center_horizontal" android:gravity="center_horizontal|top" android:id="@+id/button2" /> <Button android:layout_width="150dip" android:layout_height="150dip" android:background="#0ff" android:text="New Button1" android:gravity="right|center_vertical" android:layout_gravity="left" android:id="@+id/button" /> </LinearLayout>
实现的效果图如下:
注意:
对于 LinearLayout
当 android:orientation="vertical" 时, 只有水平方向的设置才起作用,垂直方向的设置不起作用。即:left,right,center_horizontal 是生效的。
当 android:orientation="horizontal" 时, 只有垂直方向的设置才起作用,水平方向的设置不起作用。即:top,bottom,center_vertical 是生效的。
对于RelativeLayout
是没有android:layout_gravity属性的,如要设置必须使用android:layout_centerInParent或android:layout_centerHorizontal或android:layout_centerVertical
对于AbsoluteLayout
是没有android:layout_gravity属性的,只能设置x、y的位置
对于FrameLayout
设置center_vertical是垂直居中,而center_horizontal是水平居中,而center则是水平和垂直都居中
对于TableLayout
每个元素都是一行,设置android:layout_gravit属性没有效果
相关文章推荐
- ArcGIS4Android 1:使用Android Studio进行ArcGIS for Android开发的环境部署-正确版
- Android:TextView中的文本链接之--点击链接跳转总结(2种方法+2个实例应用)
- Android初级教程 - 四种点击事件
- android内存分析工具- MAT的初识(1)
- Android Studio 快捷键
- Android Studio 打包流程
- android gralloc 小结
- EventBus与Service结合
- Android多种单例模式的使用
- android hwcomposer 在视频播放中的应用
- Android Design Support Library(3)- Snackbar的使用
- Android自定义dialog中的EditText无法弹出键盘的解决
- android137 360 双击三击事件
- android animation rotate to specific angle
- android studio获取sha1的值mac版
- ScrollView中嵌套ListView/ExpandableListView显示问题
- Android Binder机制学习计划
- Android--listView的divider分割线样式和边距
- Android Studio 中使用Java 8 特性
- android星星评分自定义控件