zoukankan      html  css  js  c++  java
  • 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的内容不就是他的孩子么,问题解决

  • 相关阅读:
    loadrunner安装问题
    (转)经典SQL练习题
    mysql存储过程-汇总学习
    MongoDB 添加用户名和密码
    解决端口占用,查看并杀掉端口
    在 Nest.js 中使用 MongoDB 与 TypeORM
    安装 mysqlclient 报 mysql_config not found
    修改 div 的滚动条的样式
    Ubuntu 系统连接到服务器
    Python 编程入门(4):变量与赋值
  • 原文地址:https://www.cnblogs.com/zhujiabin/p/4281814.html
Copyright © 2011-2022 走看看