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

     

  • 相关阅读:
    python第十一天
    python第七天(字符编码,字符与字节,文件操作)
    python第六天(元组、字典、集合)
    python第五天
    python第四天
    根据数据库文件,查找对应的数据库
    Windows 路径问题
    32位及64位操作系统的程序问题
    好玩的获取目录信息的例子[C#]
    C# 反射相关的东西
  • 原文地址:https://www.cnblogs.com/xiaoQLu/p/2733631.html
Copyright © 2020-2023  润新知