专栏名称: 安卓开发精选
伯乐在线旗下账号,分享安卓应用相关内容,包括:安卓应用开发、设计和动态等。
目录
相关文章推荐
51好读  ›  专栏  ›  安卓开发精选

都2021年了,你“layout_weight”用对了吗?

安卓开发精选  · 公众号  · android  · 2021-01-20 10:05

正文

请到「今天看啥」查看全文


此时可以看到,控件按照我们设置的比重显示,那实际它们的计算过程是这样的:

这里需要明白 layout_weight 是针对剩余空间。

tv1(宽度) = tv1的原始宽度 + 2/(2+1) * (剩余空间) = 0 + 2/3 * W(屏幕宽度) = 2/3屏幕宽度,既占屏幕宽度的2/3;那这里 LinearLayout 的剩余宽度为什么是 屏幕的宽度(W)呢?因为剩余宽度 = W - 0(tv1宽度) - 0(tv2宽度) 所以就是 = W.

情景二👇

LinearLayout horizontal 时,里面有两个 TextView width = match_parent ,看图:

可以看到跟情景一的展示效果完全相反😱, tv2 反而占据了更多的比重,那我们再来计算一下🙇‍♀️: LinearLayout 剩余空间 = W(屏幕宽度) - W(tv1的宽度) - W(tv2的宽度) = -W tv1(宽度) = W(tv1原始宽度) + 2/3 * 剩余空间 = W - 2*3W = 1/3W 根据计算结果可知 tv1 的最终宽度就是 1/3 屏幕宽度😄。







请到「今天看啥」查看全文