Android中weight属性计算原理

作者: Android大师哥 | 来源:发表于2016-12-17 15:47 被阅读0次

    LinearLayout布局中,我们会经常用到weight属性,相信大家对他并不陌生,weight可以很好地对当前屏幕中的控件进行分配,在Android适配中起到很好的作用。但是weight属性具体的计算原理相信很多人并不是很清楚。

    先上图片

    同样设置的weight宽度比例,但是在布局中显示的比例却正好相反,原因就是因为weight的计算原理为:控件的原有宽度 + 剩余空间所占百分比的宽度

    看下代码:

    代码非常简单,就是一个线性布局放了两个Button,下面我们来计算下Button1的所占宽度,假设当前屏幕宽度为L,Button1的宽度就为:

    L(当前Button1的宽度为match_parent)+( L(屏幕宽度) - 2L(两个Button的宽度))* 1/3 = 2/3L

    如果当前width为0dp,那么Button1所占的宽度就为:

    0 + (L - 0)* 1/3 = 1/3L

    相关文章

      网友评论

        本文标题:Android中weight属性计算原理

        本文链接:https://www.haomeiwen.com/subject/wzzquttx.html