处理一个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>