为什么android layout_weight属性可以把控件按一定的比例进行布局
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<TextView
android:layout_width="match_parent"
android:layout_height="0dip"
android:layout_weight="1"
android:background="#ffcccccc"
android:text="1"
/>
<TextView
android:layout_width="match_parent"
android:layout_height="0dip"
android:background="#ff663366"
android:layout_weight="2"
android:text="2"
/>
<TextView
android:layout_width="match_parent"
android:layout_height="0dip"
android:background="#ffCCCC00"
android:layout_weight="3"
android:text="3"
/>
</LinearLayout> 展开
2015-08-31 · 知道合伙人软件行家
下Layout_weight属性的作用:它是用来分配属于空间的一个属性,你可以设置他的权重。
SDK中的解释:
Indicates how much of the extra space in the LinearLayout will be allocated to the view associated with these LayoutParams. Specify 0 if the view should not be stretched. Otherwise the extra pixels will be pro-rated among all views whose weight is greater than 0.
重点有两个
layout_weight表示LinearLayout中额外空间的划分(可能扩大应用layout_weight前的大小也可能缩小)。
按比例(layout_weight大小的比例)。
以下说的都以 android:orientation="horizontal" 为例
看了一下源码,虽说不太懂,但了解了下大概意思,按照自己的理解总结一下,直接写一下简化的代码吧(下面的代码是LinearLayout源文件中一部分的精简,变量名称含义可能不准确,为叙述方便暂作此解释):