IT源码网

Layout的setWeightSum函数使用方法

qq123 2021年04月03日 程序员 377 0

问题:

在xml里面设置控件的android:layout_weight="1",LinearLayout的setWeightSum函数,参数设置为1,但是效果没有出来。


解决方法1:

setLayoutParams(new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.WRAP_CONTENT, 1));
1就是weight

解决方案2:

当View的width、height为wrap_content或者0dp/px/sp时,若设定了weight,那么layout就会从剩余的未确定的layout中,根据weight的总和,也就是weightSum来计算需要为这样的View设置多少长宽。
width = leftWidth * weight / weightSum;
height = leftHeight * weight / weightSum;
另外weight的计算和布局,在LinearLayout中Onlayout和OnMeasure函数。

评论关闭
IT源码网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!