首页 > 代码库 > Anroid下的权重
Anroid下的权重
Android下的权重问题困扰了我很久,最近一直在寻找答案,终于找到了解决的方法了,下面 通过两个小例子就可以理解了。
案例一:
<span style="color:#333333;"><LinearLayout android:layout_height="fill_parent" android:layout_width="fill_parent" android:orientation="horizontal" xmlns:android="http://schemas.android.com/apk/res/android"> <EditText android:layout_height="wrap_content" android:layout_width="0dip" </span><strong><span style="color:#009900;"> android:layout_weight="5"</span></strong><span style="color:#333333;"> android:hint="Type something" /> <Button android:layout_height="wrap_content" android:layout_width="0dip" </span><span style="color:#009900;"><strong> android:layout_weight="2"</strong></span><span style="color:#333333;"> android:text="Send" /> </LinearLayout></span>
分析代码:
原理很简单,系统会把LinearLayout下所有的控件指定的layout_weight 值相加,得到一个总值,然后每个控件所占大小的比例就是用该控件的layout_weight 值来除以刚才算出来的总值。像上面所示,文本框所占的比例为 5/7,按钮所占比例为 1/7。
有了这个思想就可以联想到嵌套的LinearLayout了,此处就不再详解,下面看看案例二。
案例二:
<LinearLayout android:layout_height="fill_parent" android:layout_width="fill_parent" android:orientation="horizontal" xmlns:android="http://schemas.android.com/apk/res/android"> <EditText android:layout_height="wrap_content" <span style="color:#009900;"><strong> android:layout_width="0dip" android:layout_weight="1"</strong></span> android:hint="Type something" /> <Button android:layout_height="wrap_content" android:layout_width="wrap_content" android:text="Send" /> </LinearLayout>
认真看一下,发现好像和上面案例一是一样的,其实看代码会发现是不一样的,这里仅指定EditText的layout_weight属性,并将Button的宽度改回wrap_content.这表示Button的宽度仍然按照wrap_content 来计算,而EditText则会占满屏幕所剩余的空间,墙裂推荐大家使用这个方式。
相信聪明的亲现在明白Android下权重的方法了。
Anroid下的权重
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。