版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qingfeng812/article/details/53320853
<?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item> <shape android:shape="rectangle"> <corners android:bottomLeftRadius="16dp" android:bottomRightRadius="16dp" android:topLeftRadius="16dp" android:topRightRadius="16dp"></corners> <stroke android:width="1dp" android:color="#999999"></stroke> <solid android:color="#fefefe"></solid> </shape> </item> <item android:state_selected="true"> <shape android:shape="rectangle"> <corners android:bottomLeftRadius="17dp" android:bottomRightRadius="17dp" android:topLeftRadius="17dp" android:topRightRadius="17dp"></corners> <stroke android:width="1dp" android:color="#999999"></stroke> <solid android:color="#cccccc"></solid> </shape> </item> <item android:state_pressed="true"> <shape android:shape="rectangle"> <corners android:bottomLeftRadius="17dp" android:bottomRightRadius="17dp" android:topLeftRadius="17dp" android:topRightRadius="17dp"></corners> <stroke android:width="1dp" android:color="#999999"></stroke> <solid android:color="#cccccc"></solid> </shape> </item> </selector>
//上面的selector是不能生效的!!!!
//正确的案例如下:【原因是顺序问题】
<?xml version="1.0" encoding="utf-8"?> <selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:state_selected="true"> <shape android:shape="rectangle"> <corners android:bottomLeftRadius="17dp" android:bottomRightRadius="17dp" android:topLeftRadius="17dp" android:topRightRadius="17dp"></corners> <stroke android:width="1dp" android:color="#999999"></stroke> <solid android:color="#cccccc"></solid> </shape> </item> <item android:state_pressed="true"> <shape android:shape="rectangle"> <corners android:bottomLeftRadius="17dp" android:bottomRightRadius="17dp" android:topLeftRadius="17dp" android:topRightRadius="17dp"></corners> <stroke android:width="1dp" android:color="#999999"></stroke> <solid android:color="#cccccc"></solid> </shape> </item> //位置应该放在最底部,保证上面的效果不被覆盖 <item> <shape android:shape="rectangle"> <corners android:bottomLeftRadius="16dp" android:bottomRightRadius="16dp" android:topLeftRadius="16dp" android:topRightRadius="16dp"></corners> <stroke android:width="1dp" android:color="#999999"></stroke> <solid android:color="#fefefe"></solid> </shape> </item> </selector>