Android gravity和layout_gravity的区别
一、gravity和layout_gravity相同处
两者都是设置对齐方式的属性。内部的属性值相同。
根据英文意思也能理解其中的意思。如center_horizontal表示在水平方向上的位置为中间。
二、gravity和layout_gravity的不同处
gravity是设置自身内部元素的对齐方式。比如一个TextView,则是设置内部文字的对齐方式。如果是ViewGroup组件如LinearLayout的话,则为设置它内部view组件的对齐方式。
layout_gravity是设置自身相当于父容器的对齐方式。比如,一个TextView设置layout_gravity属性,则表示这TextView相对于父容器的对齐方式。
具体参考如下
1、gravity效果
①TextView
【代码】
1 <TextView 2 android:text="这是一个TextView" 3 android:layout_width="200dp" 4 android:layout_height="200dp" 5 android:gravity="center" 6 android:background="#ff0" 7 />
【提示】这里方便观察,我们给TextView设置了一个backGround背景颜色。设置了固定的宽度
【注意】如果要用gravity属性,此组件的layout_width和layout_height不能设置为wrap_content。此时设置的gravity属性没有效果,因为组件包裹着内容,无论设置什么,也都不能有改变
【效果】
②LinearLayout
【代码】
1 <LinearLayout 2 android:layout_width="match_parent" 3 android:layout_height="match_parent" 4 android:gravity="center" 5 android:background="#f00" 6 > 7 <TextView 8 android:text="TextView在这里" 9 android:layout_width="200dp" 10 android:layout_height="200dp" 11 android:background="#ff0" 12 /> 13 </LinearLayout>
【提示】此时外部viewGroup类组件设置gravity为center,内部组件TextView在外部LinearLayout的中间。TextView没有设置gravity属性,则文字在开始位置
【效果】
2、layout_gravity效果
对于layout_gravity不是什么情况下都能设置的属性(如RelativeLayout),而且在不同的viewGroup中产生的效果也会不同(如LinearLayout)。
具体实例如下
①LinearLayout
1 <LinearLayout 2 android:layout_width="match_parent" 3 android:layout_height="match_parent" 4 android:background="#f00" 5 android:orientation="horizontal"> 6 <TextView 7 android:text="TextView在这里" 8 android:layout_width="200dp" 9 android:layout_height="200dp" 10 android:background="#ff0" 11 android:layout_gravity="center" 12 /> 13 </LinearLayout>
【效果】
【提示】此时layout_gravity的center值,并没有让TextVieW在LinearLayout的中间,这和LinearLayout的orientation的定位方向有关。
当设置为horizontal时,LinearLayout中的组件时按照横着排列,当设置ayout_gravity属性为center值时,组件就在垂直方向处于中间位置。同理,当设置为vertical时,效果如下
②FrameLayout(帧布局)
【代码】
1 <FrameLayout 2 android:layout_width="match_parent" 3 android:layout_height="match_parent" 4 android:background="#f00"> 5 <TextView 6 android:text="TextView在这里" 7 android:layout_width="200dp" 8 android:layout_height="200dp" 9 android:background="#ff0" 10 android:layout_gravity="center" 11 /> 12 </FrameLayout>
【效果】
转载于:https://www.cnblogs.com/xqz0618/p/gravity.html
Android gravity和layout_gravity的区别相关推荐
- android 中 gravity 和 layout_gravity 的区别
文章转自:http://blog.csdn.net/feng88724/article/details/6333809 在进行UI布局的时候,可能经常会用到 android:gravity 和 an ...
- android gravity和layout_gravity区别
gravity:属性是指定当前控件内容显示的位置. 里面有:left 左 ,right 右, top 上, bottom下 layout_gravity:属性是指定当前控件在父元素的位置 里面有 to ...
- Android --- 布局属性gravity和layout_gravity的区别
一.gravity和layout_gravity相同处 两者都是设置对齐方式的属性.内部的属性值相同. 根据英文意思也能理解其中的意思.如center_horizontal表示在水平方向上的位置为中间 ...
- gravity与Layout_gravity的区别
区别 gravity 这个英文单词是重心的意思,在这里就表示停靠位置的意思. layout_gravity 是LinearLayout 子元素的特有属性. 对于layout_gravity, 该属性用 ...
- java gravity_Android属性gravity与layout_gravity的区别
在Android的LinearLayout布局中,有两个gravity属性,都是设置组件的位置,它们是android:gravity和android:layout_gravity,那么它们之间有什么区 ...
- gravity 和 layout_gravity的区别
android:gravity 属性是对该view 内容的限定.比如一个button 上面的text. 你可以设置该text 在view的靠左,靠右等位置.该属性就干了这个. android:layo ...
- gravity和layout_gravity的区别(有时使用layout_gravity=center时失效的原因)
gravity: 是对view控件本身来说的,是用来设置view本身的内容应该显示在view的什么位置,默认值是左侧.也可以用来设置布局中的控件位置. layout_gravity: 作用的是声明该属 ...
- 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 ...
最新文章
- scrapy的几个文件属性
- python【数据结构与算法】快速幂and矩阵快速幂取模(看不懂你来打我)
- SpringCloud--Eureka服务注册与发现 Eureka 集群搭建 详细案例!!!
- 程序人生:无他,唯心向尔
- VC6.0 DLL项目与WINDOWS项目的转换
- [SQLITE_READONLY] Attempt to write a readonly databse (attempt to write a readonly database)
- select count(*)和select count(1)
- Linux Kernel 5.8 发布,华为内核代码贡献全球持续领先
- 2006无法登录mysql_错误2006(HY000):MySQL服务器消失了
- 【单片机】keil 2032
- Deep Glow for mac(AE高级辉光特效插件)
- 计算机音乐转MP3,怎么把歌曲转换成mp3格式_教你把歌曲转换成mp3格式的方法
- 世界各主要国家及组织的大数据战略
- Linux下软连接(softlink)和硬连接(hardlink)的区别
- python3连接mysql获取ansible动态inventory脚本
- Android 阿里云镜像整理
- 实践一 网络攻防环境的搭建
- Ubuntu16.04配置deeplabv3+的pytorch版本
- word如何关闭批注模式【教程】
- 软件技术部第一次机器学习培训
热门文章
- Arrays.sort()方法
- 方法重写(Java篇)
- 权限柜作用_超市条码寄存柜使用要点
- 基于安卓手机的辅助驾驶APP开发
- 如何提升github的clone速度(简单粗暴,亲测有效)
- adb安装apk报错Failure [INSTALL_FAILED_INVALID_URI]
- 光流法目标跟踪原理(不带公式)
- 【知识蒸馏】ICCV21_Channel-wise Knowledge Distillation for Dense Prediction
- 经常刷同一台POS机,信用卡会被降额吗?
- 《城邦暴力团》:一部奇书、反书、隐书