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的内容不就是他的孩子么,问题解决

更多相关文章

  1. Android(安卓)Studio 4.0 New Class 窗口自定义修改
  2. Android(安卓)自定义主题和风格
  3. Android最新组件RecyclerView,替代ListView
  4. Android(安卓)系统属性的设置查询
  5. android的UI和常用控件
  6. Android(安卓)开发杂记
  7. 重温Android四大组件(一)—Activity的生命周期
  8. Android(安卓)ApiDemo学习(五)Animation—— 4 Default Layout Ani
  9. Android系统的基本架构

随机推荐

  1. android自定义keystore
  2. Android(安卓)通用标题栏之组合控件
  3. android 带阻尼的周期运动
  4. 【Android】adb 查看所有程序包名
  5. Android深入浅出之Binder机制
  6. 如何避免android上的进程的内存限制
  7. speeding up app in android
  8. Android中的Category
  9. Android(安卓)Socket With NodeJS
  10. Android(安卓)实现Xmpp工具类