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>
相信聪明的亲现在明白Android下权重的方法了。
原文地址:http://blog.csdn.net/qq_20042935/article/details/43409963