RelativeLayout布局中遇到的奇葩问题:-----------Button的离奇消失---------
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity" >
<Button
android:id="@+id/button1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="按钮1"
/>
<Button
android:id="@+id/button2"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_below="@id/button1"
android:layout_marginTop="200dp"
android:text="按钮2"
/>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_above="@id/button2"
android:layout_below="@id/button1"
android:background="#ff0000"
android:text="按钮3"
/>
</RelativeLayout>
Button3跑到哪里去了?????
原因:
button3设置了 android:layout_above="@id/button2" android:layout_below="@id/button1" 应该分布在按钮1和按钮2的中间。
但是又因为Button2设置了android:layout_below="@id/button1" android:layout_marginTop="200dp" 所以Button3会跟Button1的下底对齐。
这时还想让Button3放在Button1的下边就不可能办到了。
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity" >
<Button
android:id="@+id/button1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="按钮1"
/>
<Button
android:id="@+id/button2"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_below="@id/button1"
android:layout_marginTop="200dp"
android:text="按钮2"
/>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_above="@id/button2"
android:background="#ff0000"
android:text="按钮3"
/>
</RelativeLayout>
当去掉 android:layout_below="@id/button1" 很明显可以看到效果。也就是Button3的位置是在Button2下移之前的上边。
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity" >
<Button
android:id="@+id/button1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="按钮1"
/>
<Button
android:id="@+id/button2"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:text="按钮2"
/>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_above="@id/button2"
android:layout_below="@id/button1"
android:background="#ff0000"
android:text="按钮3"
/>
</RelativeLayout>