Android UI程序员Android技术知识

Android中weight属性计算原理

2016-12-17  本文已影响0人  Android大师哥

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

上一篇下一篇

猜你喜欢

热点阅读