在做页面设计的时候,发现了这样的一个问题,二个FrameLayout使用同一个颜色居然出现了重叠,错误如下:

XML代码布局很简单:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > <FrameLayout android:id="@+id/re_title" android:layout_width="match_parent" android:layout_height="100dp" android:background="@drawable/common_title_bg"/> <FrameLayout android:layout_width="match_parent" android:layout_height="100dp" android:background="@drawable/common_title_bg"> <FrameLayout android:id="@+id/re_content" android:layout_width="match_parent" android:layout_height="match_parent" /> <ImageView android:id="@+id/title_img" android:layout_width="match_parent" android:layout_height="wrap_content" android:background="@drawable/top_show" /> </FrameLayout>
官方的解释是:FrameLayout是一个简单的布局,最好里面只有一个ITEM, 换成LinearLayout和RelationLayout,只要他们的子布局超过一个,都会有拼接重叠的情况出现。解决办法就是:子布局里面只有一个,孙布局不限制
<FrameLayout android:id="@+id/re_title" android:layout_width="match_parent" android:layout_height="wrap_content" /> <FrameLayout android:id="@+id/re_content" android:layout_width="match_parent" android:layout_height="match_parent" />