起航学习网

- 让每个人都能学到最前沿新知识、新技能!
起航学习网
当前位置: 起航学习网 > 短期培训 > 编程语言 > layout_weight属性是线性布局的特有属性

layout_weight属性是线性布局的特有属性

时间:2018-08-13 13:18:17来源:编程网 作者:IT培训网 已有: 名学员访问该课程

  快捷搜索:layout_weight线性布局

前言:在横向的LinearLayout中,假设其宽度为320dp,放入三个TextView控件,每个控件的layout_width为40dp,他们的权重比为1:1:2,可能有大部分人认为三者的宽度比为1:1:2,但是到底是什么样的。

线性布局中的layout_weight属性是什么,怎么样layout_weight属性知识点,哪些方法可以快速了解layout_weight属性?

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

其实就一句话,权重是按比例分配剩余屏幕的宽度或者高度,剩余宽度指的是每个控件按照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的关系。效果图如下:

layout_weight属性是线性布局的特有属性_www.epx365.cn

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

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

layout_weight属性是线性布局的特有属性_www.epx365.cn

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

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

文章出自:http://qh.itpxw.cn/peixun/software/201842406.html

文章标题:layout_weight属性是线性布局的特有属性



免责声明:本站文章均由入驻起航学习网的会员所发或者网络转载,所述观点仅代表作者本人,不代表起航学习网立场。如有侵权或者其他问题,请联系举报,必删。侵权投诉

你也许会喜欢如下的文章?
(责任编辑:IT培训网)
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
培训学校
IT培训网 访问该机构站点 报名留言 加为好友 用户等级:注册会员 用户级别:10 机构名称:IT培训网 联 系 人:罗老师 联系电话:13783581536 联系手机:13783581536 在线客服:起航学习网客服 在 线 QQ:起航学习网客服 电子邮件: 网站域名:http://www.itpxw.cn 注册时间:2016-07-18 11:07 最后登录:2024-02-20 13:02
推荐内容