1、定义半透明颜色值:

<color name="half_transparent">#20000000</color>


2、定义半透明的shape,命名为half_transpant.xml:

<?xml version="1.0" encoding="utf-8"?>

<shape xmlns:android="http://schemas.android.com/apk/res/android"

android:shape="rectangle">

<!-- 填充颜色 -->

<solid android:color="@color/half_transparent"></solid>

<!-- 线的宽度,颜色灰色 -->

<stroke android:width="2dp" android:color="@color/white"></stroke>

<!-- 矩形的圆角半径 -->

<corners android:radius="0dp" />

</shape>


3、实现边框文件的layer,map1_bg_selector.xml:

<layer-list xmlns:android="http://schemas.android.com/apk/res/android" >


<item android:drawable="@drawable/map1"></item>

<!-- 必须在map1的下面 -->

<item android:drawable="@drawable/half_transparent"></item>

</layer-list>

注意:此处需要注意的是引用的半透明的shape的声明必须处于原图map1的下面


4、边框布局的实现,map1_change_bg_selector.xml:

<?xml version="1.0" encoding="utf-8"?>

<selector xmlns:android="http://schemas.android.com/apk/res/android">

<item android:state_checked="true"

android:drawable="@drawable/map1_bg_selector" />

<item android:state_checked="false"

android:drawable="@drawable/map1" />

<item

android:drawable="@drawable/map1" />

</selector>


5、在控件定义处,直接只用map1_change_bg_selector即可