为什么android layout_weight属性可以把控件按一定的比例进行布局

<LinearLayoutxmlns:android="http://schemas.android.com/apk/res/android"android:layout... <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
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>
展开
 我来答
QQMSD8
2015-08-31 · 知道合伙人软件行家
QQMSD8
知道合伙人软件行家
采纳数:6788 获赞数:13239
没有做不到,只有想不到,帮助别人的同时也是对自己的提升

向TA提问 私信TA
展开全部

下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.


重点有两个

  1. layout_weight表示LinearLayout中额外空间的划分(可能扩大应用layout_weight前的大小也可能缩小)。

  2. 按比例(layout_weight大小的比例)。


以下说的都以 android:orientation="horizontal" 为例

看了一下源码,虽说不太懂,但了解了下大概意思,按照自己的理解总结一下,直接写一下简化的代码吧(下面的代码是LinearLayout源文件中一部分的精简,变量名称含义可能不准确,为叙述方便暂作此解释):

扶悦祎yi
2013-09-03 · TA获得超过565个赞
知道小有建树答主
回答量:604
采纳率:66%
帮助的人:201万
展开全部
layout_weight是组件在布局中的权重属性,值大的表示站更多部分
追问
现在是竖着布局,好像跟你说的是一样,但是要是横着来布局的时候就和你说的不一样了。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式