zoukankan      html  css  js  c++  java
  • Android weight属性详解

    android:layout_weight是一个经常会用到的属性,它只在LinearLayout中生效,下面我们就来看一下:

    • 当我们把组件宽度设置都为”match_parent”时:
        <Button
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_weight="3"
            android:text="按钮1" />
         <Button
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_weight="1"
            android:text="按钮2" />       

    显示效果:
    这里写图片描述

    可以看到按钮2占的比例明显比按钮1占的多,那么这个比例是怎么算的呢?其实是a/(a+b)这样算的,因此按钮1算下来所占比例为3/4,按钮2所占为1/4,可是这样完全和真实情况不符合啊。
    其实呢,当组件宽度设置为”match_parent”的时候,这里的权重值,表示的组件显示的优先级,而且值越小优先级越高,因为按钮2优先级为1,大于按钮1的优先级,所以按钮2占的是3/4,按钮1占的是1/4。
    当组件长度为match_parent时,权重设置的是显示优先级

    • 当我们把组件宽度设置都为”0dip”时:
      显示效果如下:
      这里写图片描述

    这是为什么呢?
    当组件长度为0dp时,权重设置的是按比例分配显示空间
    所以就是如图的情况了。

    • 通常和weight一块用的还有一个属性android:visibility=”visible”:控制组件是否显示,有三个选值visible显示,invisible不显示,但 占空间,gone隐藏。
    • 好了,Android weight属性到这里就介绍完了,希望可以给大家提供帮助。

    版权声明:本文为博主原创文章,未经博主允许不得转载。

  • 相关阅读:
    [问题2014A05] 复旦高等代数 I(14级)每周一题(第七教学周)
    oracle的相关信息
    进程和线程的区别
    阿里云人脸检测定位
    php与oracle11g经典分页
    Linux 远程复制
    redis的相关信息
    教你编译PHP7 (nginx+mysql+php7)
    nginx的相关信息
    php about session store db or cache
  • 原文地址:https://www.cnblogs.com/makaruila/p/4854444.html
Copyright © 2011-2022 走看看