关于Android:layout_weight的真实含义

来源:互联网 发布:python离线安装包下载 编辑:程序博客网 时间:2024/05/18 01:27

Layout_weight是LinearLayout的一个重要属性,允许开发者使用比例的方式来指定控件的大小,它在手机屏幕的适配性方面可以起到非常重要的作用。

android:layout_weight属性使用原理如下:系统会先把LinearLayout下所有控件指定的layout_weight值相加,得到一个总值,然后每个控件所占大小的比例就是使用该控件的layout_weight值 除以刚才算出的总值。

Google官方推荐,使用android:layout:weight属性时,把对应的宽度/高度大小设为0dp。然而,当把对应的宽度/高度设为match_parent时,发现结果和wrap_content时不同。

为什么会这样呢?原来,一旦设置了android:layout_weight属性(假设有效的情况下),那么该View的宽度等于原有宽度加上剩余空间的占比。

例如当宽度为L时,两个组件weight设为match_parent,组件1weight为1,组件2weight为2,则组件1宽度为:L+(L-2*L)*1/3=2/3*L,组件2宽度为:L+(L-2*L)*2/3=1/3*L。


0 0
原创粉丝点击