<?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>
Android selector shape 无效问题
最新推荐文章于 2022-04-11 09:59:49 发布