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

  • 相关阅读:
    jquery_DOM笔记3
    jquery_DOM笔记2
    mac之jdk环境变量配置
    360导致的mysql问题解决
    windows服务器apache配置https教程
    生成自己openssl的证书
    wkhtmltopdf中文乱码
    安装ruby、rails
    extjs中返回数据时id不能重复,否则数据会被合并
    gzip压缩ext-all.js
  • 原文地址:https://www.cnblogs.com/zhujiabin/p/4281814.html
Copyright © 2011-2022 走看看