对于LinearLayout的layout_weight属性,很多人都很了解,今天我把我的一本android书又从第一页开始翻,特意自己写了demo来测试这个属性,发现了一个很有趣的现象.
android_width会影响到android_weight
看下面了两个布局文件,他们的差别只是layout_width的值.一个fill_parent,另一个是wrap_content
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="horizontal" android:layout_width="fill_parent" android:layout_height="fill_parent" > <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_weight="1" android:text="111" android:background="#ff0000" /> <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_weight="2" android:text="22" android:background="#00ff00" /> <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_weight="3" android:background="#0000ff" android:text="33" /> </LinearLayout>
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="horizontal" android:layout_width="fill_parent" android:layout_height="fill_parent" > <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_weight="1" android:text="111" android:background="#ff0000" /> <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_weight="2" android:text="22" android:background="#00ff00" /> <TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_weight="3" android:background="#0000ff" android:text="33" /> </LinearLayout>
上面的布局代码分别对应下面的两张图片,出来的效果是完全不一样的,所以当在使用layout_weight的时候,layout_width的值也是需要关心的.