线性布局html,线性布局中的layout_weight属性

layout_weight属性是线性布局的特有属性,当需要去按比例分配某一行或某一列上的控件时,通常会想到使用权重这个属性去解决,一般在使用该属性时,要把控件的layout_width或layout_height设置成0dp,为什么需要这样做,下面给大家分析下layout_weight的使用规则。

本文引用网址:http://emb.hqyj.com/Column/7510.html

其实就一句话,权重是按比例分配剩余屏幕的宽度或者高度,剩余宽度指的是每个控件按照layout_width或layout_height分配完之后屏幕的宽度或高度,下面我们举个例子:

在横向的LinearLayout中,假设其宽度为320dp,放入三个TextView控件,每个控件的layout_width为40dp,他们的权重比为1:1:2,可能有大部分人认为三者的宽度比为1:1:2,但是到底是什么样的。其实不然,系统首先会为每个控件各分配40dp的宽度,这时屏幕剩余的宽度为200dp,这200dp将按照权重进行分配,第一个控件分得50dp,第二个控件飞得50dp,第三个控件分得100dp,再加上之前的40dp,其实,每个控件所占的宽度为90dp,90dp,140dp,而并不是1:1:2的关系。效果图如下:

350e6daf009e85851fe303befbb671ce.png

所以在一般使用权重的时候,我们会将layout_width属性设置成0dp,这样就完全按照权重比例去分配了。

有些时候,当按照layout_width去分配的时候,屏幕就已经不够用了,还是上面的例子,假如,把每个控件的layout_width替换成match_parent,接下来,又会出现什么情况。还是我们的那句话,权重将按比例分配剩余屏幕的宽度或者高度,只不过这时剩余屏幕的宽度和高度为负值了,同样由各个控件按比例去分配负值的剩余空间,通过计算得出三个控件的比例为1:1:0,效果图如下:

65a8427a7578da8cb7d68be81bc2cf71.png

通过上面的学习,我们总结出了一个公式。即每个控件所占的宽度或高度为:

控件的宽度/高度 = 控件的width/height值+(该控件的weight值)×额外的空间。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: A按比例分配控件所占空间。 在线性布局layout_weight属性定义了控件在容器所占空间的比例。具体地说,如果一个线性布局中有多个子控件,每个子控件都设置了layout_weight属性,那么它们将按照layout_weight属性值的比例来分配剩余的空间。例如,如果一个线性布局中有两个子控件,一个设置了layout_weight为1,另一个设置了layout_weight为2,那么第二个子控件将会占据第一个子控件的两倍空间。 ### 回答2: A按比例分配控件所占空间。 在线性布局管理,控件属性layout_weight的作用是用来指定控件在可用空间内的比例分配。当线性布局的宽度或高度有多个控件需要填充时,通过设置layout_weight属性可以让不同的控件按照一定的比例来分配剩余的空间。 比如,如果一个线性布局中有三个控件,并且它们的layout_width属性设置为"0dp",则可以通过设置它们的layout_weight属性来控制它们在水平方向上的比例。如果第一个控件的layout_weight设置为1,第二个控件设置为2,第三个控件设置为3,则它们将会按照1:2:3的比例来分配剩余的可用空间。 同样地,在垂直方向上,可以通过设置控件的layout_weight属性来实现对控件在垂直方向上的比例分配。 总之,控件属性layout_weight的作用是按照设定的比例来分配控件所占的空间,从而实现灵活的布局。 ### 回答3: 选A。在线性布局管理的控件属性layout_weight的作用是按比例分配控件所占空间。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值