处理一个Dialog,发现RelativeLayout布局下最后一个View的layout_marginBottom会失效.
效果图见:
解决方法为:
在最底或最右的组件后面再加个View吧...
这个现象挺特别的,发帖记录一下。
xml布局如下:
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:gravity="center" android:background="#80000000"> <RelativeLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:id="@+id/dlgLayoutMain" android:paddingBottom="18dp" android:background="@drawable/micro_phone_dlg_bg"> <!-- 录音界面 --> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/txtMicroPhoneHint" android:layout_centerHorizontal="true" android:layout_marginTop="25dp" android:textSize="18.5sp" android:textColor="#ff555555" android:text="@string/micro_phone_what_2_say"/> <!-- 话筒、音波 --> <ImageView android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/img_micro_phone" android:background="@drawable/ic_launcher" android:layout_below="@id/txtMicroPhoneHint" android:layout_marginTop="15dp" android:layout_centerHorizontal="true"/> <Button android:layout_width="fill_parent" android:layout_height="36dp" android:id="@+id/btnPressed2Talk" android:text="@string/aio_press_speak_label" android:textSize="18.5sp" android:textColor="#ffffff" android:layout_below="@id/img_micro_phone" android:layout_marginLeft="18dp" android:layout_marginRight="18dp" android:layout_marginTop="12dp" android:layout_marginBottom="18dp" android:layout_centerHorizontal="true" android:background="#ff123456" /> <!-- 把下面的view注释掉,则发现btnPressed2Talk的marginBottom无效 --> <View android:layout_width="match_parent" android:layout_height="0dp" android:layout_below="@id/btnPressed2Talk" /> </RelativeLayout> </RelativeLayout>