1) RelaLayout布局原理
RelalitveLayout布局使用的是堆栈原理,也就是在RelativeLayout布局中的组件,越是在先定义的控件就越在底层显示,后创建的控件在其上面显示,在实现原理上就是堆栈原理。
2) 实现效果
3) Xml布局
<RelativeLayout
android:id="@+id/viewImageBox1"
android:layout_width="90dp"
android:layout_height="90dp">
<ImageView
android:layout_width="80dp"
android:layout_height="80dp"
android:layout_centerInParent="true"
android:adjustViewBounds="true"
android:scaleType="fitXY"
android:src="@drawable/community_card_style">
</ImageView>
<ImageView
android:layout_width="40dp"
android:layout_height="40dp"
android:layout_centerInParent="true"
android:adjustViewBounds="true"
android:scaleType="fitXY"
android:src="@drawable/community_card_add"
</ImageView>
<ImageView
android:layout_width="80dp"
android:layout_height="80dp"
android:layout_centerInParent="true"
android:adjustViewBounds="true"
android:scaleType="centerCrop"
android:visibility="gone" />
<ImageView
android:layout_width="20dp"
android:layout_height="20dp"
android:layout_alignParentRight="true"
android:layout_alignParentTop="true"
android:layout_marginBottom="10dp">
android:layout_marginLeft="10dp"
android:adjustViewBounds="true"
android:scaleType="fitXY"
android:src="@drawable/icon_close_red"
android:visibility="gone"
</RelativeLayout>
4) 创建虚线背景
5) <?xml version="1.0"
encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android"
>
<item
android:bottom="1dp"
android:left="1dp"
android:right="1dp"
android:top="1dp">
<shape>
<stroke
android:dashGap="3dp"
android:dashWidth="8dp"
android:width="2.5dp"
android:color="#c5c5c5"
/>
<solid android:color="#e5e5e5"
/>
<corners android:radius="5dp"
/>
</shape>
</item>
</layer-list>