Android layout_gravity失效的问题

相信对于Android的初学者来说,大家都曾经被layout里这两个极其相似的属性迷惑过。
简单使用一下搜索工具,我们就不难找到下面这样的答案:

layout_gravity 表示组件自身在父组件中的位置
gravity             表示组件的子组件在组件中的位置

看似很简单嘛

为什么这么简单的道理,总有同学会发现,在“某些时候”,layout_gravity这个属性不好使了,失去了它应有的作用

问题究竟出在哪里了呢?

当作为父layout的LinearLayout的属性为android:orientation="vertical" 的时候,android:layout_gravity="?"这里设为横向的时候才能生效。比如:left,right,center_horizontal等;
当作为父layout的LinearLayout的属性为android:orientation="horizental" 的时候,android:layout_gravity="?"这里设为纵向的时候才能生效。比如:top,bottom,center_vertical等;
有一个比较特殊的是center,不管是横向还是纵向的时候,它总有一个方向起作用, 因为LinearLayout他只可能有一个方向,

这nm的,确实让人蛋疼。其实也有点道理吧,就是LinearLayout横向的时候,如果有多个孩子,那就不知道把谁放最右了,

有两个解决方法吧,

(1)用RelativeLayout吧,这个算是费话吧 ,哈哈

(2)在LinearLayout中设置android:gravity这个从官方api的解释是怎么放置它的内容,LinearLayout的内容不就是他的孩子么,问题解决

时间: 2024-11-09 12:02:16

Android layout_gravity失效的问题的相关文章

android:layout_gravity和android:gravity的区别

androidlayoutbuttonencoding 1.首先来看看android:layout_gravity和android:gravity的使用区别. android:gravity: 这个是针对控件里的元素来说的,用来控制元素在该控件里的显示位置.例如,在一个Button按钮控件中设置如下两个属性, android:gravity="left"和android:text="提交",这时Button上的文字“提交”将会位于Button的左部. android

android:layout_gravity和android:gravity的区别 (转)

转:http://blog.csdn.net/shakespeare001/article/details/7843460 1.首先来看看android:layout_gravity和android:gravity的使用区别.  android:gravity:这个是针对控件里的元素来说的,用来控制元素在该控件里的显示位置.例如,在一个Button按钮控件中设置如下两个属性,android:gravity="left"和android:text="提交",这时But

Android布局中 android:layout_gravity="bottom"为何不起作用?

在android布局时我们有时会需要将位于LinearLayout布局中的控件放在布局底部,或者是同时想将几个控件底部对齐,此时我们自然会想到使用 android:layout_gravity="bottom" 将控件放在该线性布局底部,但是,但是这样是行不通的,这个问题今天也困扰了我很长时间,以为是自己其他地方布局搞错了或者其他地方搞错了才会出现这种情况,最后没办法查资料才发现以下规律: 在 LinearLayout布局时: 当总布局为水平布局时 即当 android:orienta

android:gravity与android:layout_gravity

LinearLayout有两个非常相似的属性:android:gravity与android:layout_gravity.他们的区别在于:android:gravity用于设置View组件的对齐方式,而android:layout_gravity用于设置Container组件的对齐方式. 通俗点说就是: android:gravity属性是对该view 内容的限定.比如一个button 上面的text. 你可以设置该text 在view的靠左,靠右等位置.该属性就干了这个. android:l

android:layout_gravity和android:gravity

  在安卓中这两个属性经常用,特地来总结一下: android:layout_gravity:XML 里面的提示是这样的,Standard gravity constant that a child supplies to its parent. [flag],我大致翻译一下,一个由子view提供给父view用作指定位置的常量. android:gravity:Specifies how to align the text by the view's x- and/or y-axis  when

【Android布局】在程序中设置android:gravity 和 android:layout_Gravity属性

在进行UI布局的时候,可能常常会用到 android:gravity  和 android:layout_Gravity 这两个属性. 关于这两个属性的差别,网上已经有许多人进行了说明,这边再简单说一下. (资料来自网络) LinearLayout有两个很类似的属性: android:gravity与android:layout_gravity. 他们的差别在于: android:gravity 属性是对该view中内容的限定.比方一个button 上面的text. 你能够设置该text 相对于

Android layout_gravity

当 android:orientation="vertical"  时, 只有水平方向的设置才起作用,垂直方向的设置不起作用.即:left,right,center_horizontal 是生效的. 当 android:orientation="horizontal" 时, 只有垂直方向的设置才起作用,水平方向的设置不起作用.即:top,bottom,center_vertical 是生效的. Android layout_gravity,布布扣,bubuko.co

android:layout_gravity和android:gravity属性的区别

android:gravity / android:layout_gravity区别: android:gravity 是设置该view里面的内容相对于该view的位置,例如设置button里面的text相对于view的靠左,居中等位置.(也可以在Layout布局属性中添加,设置Layout中组件的位置) android:layout_gravity 是用来设置该view相对与父view的位置,例如设置button在layout里面的相对位置:屏幕居中,水平居中等. 即android:gravi

android:layout_gravity 和 android:gravity 的区别

gravity 这个英文单词是重心的意思,在这里就表示停靠位置的意思. android:layout_gravity 和 android:gravity 的区别 从名字上可以看到,android:gravity是对元素本身说的,元素本身的文本显示在什么地方靠着换个属性设置,不过不设置默认是在左侧的. android:layout_gravity是相对与它的父元素说的,说明元素显示在父元素的什么位置. 比如说button: android:layout_gravity 表示按钮在界面上的位置. a