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即可