layout_gravity 为什么会失效

简介: layout_gravity 为什么会失效

大家都知道 gravity 和 layout_gravity 的基本用法,不会的网上搜一下也无非都是:layout_gravity 表示组件自身在父组件中的位置 ,gravity 表示组件的子组件在组件中的位置。但有时候你会感觉 gravity 会比较好用,而 layout_gravity 往往会没有实现你想要的效果,这是为什么呢,看个例子:

例子 1:

image.png

效果:

image.png

例子 2:

image.png

效果:

image.png

其实例子 1 就比例子 2 多了一行代码:android:orientation="vertical"

可能大家已经明白了:如果父 layout 的属性中没有 android:orientation="vertical" 的话,默认是 horizontal 的,也就是说当父 layout 的 android:orientation 是 vertical 的时候,子控件中的 layout_gravity = "right" 生效了,当父 layout 的 android:orientation 是 horizontal 的时候,子控件中的 layout_gravity = "right" 失效了,总结一下:

 

当作为父 layout 的 LinearLayout 的属性为 android:orientation="vertical" 的时候,android:layout_gravity="?" 这里设为横向的时候才能生效。比如:left,right,center_horizontal 等

当作为父 layout 的 LinearLayout 的属性为 android:orientation="horizental" 的时候,android:layout_gravity="?" 这里设为纵向的时候才能生效。比如:top,bottom,center_vertical 等;

layout_gravity为什么会失效 - gefufeng的个人页面 - OSCHINA - 中文开源技术交流社区

目录
相关文章
|
Android开发
Android EditText设置inputType之后minLines失效
Android EditText设置inputType之后minLines失效
283 0
|
Android开发 容器
Android中 layout_gravity和gravity的区别
Android中 layout_gravity和gravity的区别
82 0
|
Android开发 容器
Android gravity 与 layout_gravity 使用区别
Android gravity 与 layout_gravity 使用区别
121 0
|
Android开发
Android 动态修改layout_weight
Android 动态修改layout_weight
701 0
Android 动态修改layout_weight
|
Android开发
Android在layout文件中插入另一个layout文件
Android在layout文件中插入另一个layout文件
143 0
|
Android开发 容器
【Android布局】在程序中设置android:gravity 和 android:layout_Gravity属性
LinearLayout有两个非常相似的属性: android:gravity与android:layout_gravity。   他们的区别在于:   android:gravity 属性是对该view中内容的限定.比如一个button 上面的text.
1593 0