處理一個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>