A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

1黑马币
本帖最后由 xiaoqing 于 2015-11-15 16:57 编辑

关于layout_weight这个属性,很多初学者容易混淆。顾名思义叫做权重,但是到底怎么使用呢?在什么时候使用?下面看看深圳的问答网,老师是如何回答这个问题的~




关于权重所占用空间,其实是根据你写的控件的大小决定的:

  1. <Button
  2.         android:layout_weight="1"
  3.         android:layout_width="fill_parent"
  4.         android:layout_height="wrap_content"
  5.         android:text=“Button1”/>
  6.      <Button
  7.         android:layout_weight="1"
  8.         android:layout_width="fill_parent"
  9.         android:layout_height="wrap_content"
  10.         android:text=“Button2”/>
复制代码
显示:
     Button1、Button2分别占据剩余空间的一半

  1. <Button
  2.         android:layout_weight="1"
  3.         android:layout_width="fill_parent"
  4.         android:layout_height=" fill_parent"
  5.         android:text=“Button1”/>
  6.      <Button
  7.         android:layout_weight=“2"
  8.         android:layout_width="fill_parent"
  9.         android:layout_height="fill_parent"
  10.         android:text=“Button2”/>
复制代码
显示:
     Button1占据剩余空间的三分之二,Button2占据剩余空间的三分之一

分配权重的方式:先按照长宽值分配空间给各个控件,再把剩余空间按照权重的比例分配个各个控件。
PS:剩余空间可为负数
现象:若控件1和控件2的权重分别为1、2,且宽值不为0dp或者wrap_content(即值为fill_parent),那么,根据权重的分配方式可得到:
   剩余空间=1个parent_width-2个parent_width=-1个parent_width        (parent_width指的是屏幕宽度 )
那么,第一个控件所占的实际大小为:
    parent_width + 2/3*( -1个parent_width)= 1/3 * parent_width
第二个空间所占的实际大小为
   parent_width + 1/3* ( -1个parent_width)=2/3  * parent_width


在实际开发中,layout_wight常被用于做百分比的布局,或者在动态布局的时候能够让某一个视图在不需要的时候被权重数值更低的挤出。是个很有用的属性哦。




深圳校区除了全国独有问答网,就业老师面试服务,还有更多神秘惊喜等着你,咨询热线:0755-66689855

0 个回复

您需要登录后才可以回帖 登录 | 加入黑马