我们以实际的一个一个的小demo来说明问题
demo01
demo02
demo03
总结:
至于宽度,Android系统会先不考虑任何外在因素,首先根据你的Layout_width设置分配需要的宽度,然后再根据权重比例分剩下来的屏幕空间
关于wrap_content比较容易理解,内容宽度即控件的宽度,剩余宽度就是整屏宽度减去所有空间宽度
剩余宽度=整个屏幕的宽度-所有控件的宽度,案例请参考demo03
重点是对fill_parent理解,因为fill_parent,所以控件会占据整个屏幕的宽度,关键是剩余宽度的计算:
剩余宽度=整个屏幕的宽度-所有控件的宽度
拿上面三个按钮的例子来说:
剩余宽度=屏幕宽度-button1宽度-button2宽度-button3宽度
= 屏幕宽度-3*屏幕宽度
=-2屏幕宽度
案例请参考demo01和demo02
不管是wrap_content还是fill_parent,都遵循如下法则:
一个按钮的最后宽度=自身的宽度+平分剩余得到的宽度
FR:徐海涛(Hunk Xu)