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属性到这里就介绍完了,希望可以给大家提供帮助。

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

 

posted @ 2015-04-27 23:50  卖艺的小流氓  阅读(364)  评论(0编辑  收藏  举报