Android selector shape 无效问题

简介: 版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qingfeng812/article/details/53320853 ...
版权声明:本文为博主原创文章,未经博主允许不得转载。 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>

相关文章
|
4月前
|
XML Java Android开发
Android RecyclerView用代码动态设置item的selector
Android RecyclerView用代码动态设置item的selector
37 0
|
XML Android开发 数据格式
Android中利用shape属性自定义设置Button按钮
Android中利用shape属性自定义设置Button按钮
224 0
|
存储 JavaScript 数据可视化
Android自动生成Shape资源文件,迈出可视化脚手架第一步(上)
这章我们就进入到了撸码时刻,逐步来开发出一个一个应对我们Android场景的功能,这章对应的功能是,Shape的自动生成
133 0
|
5月前
|
Android开发
[Android]Shape Drawable
[Android]Shape Drawable
80 0
|
数据可视化 Android开发
Android自动生成Shape资源文件(下)
这个Shape,在正常的开发中,无非就是,实心的,空心的,渐变的,左上右下带角度的,那么针对常见的几种方式,我们做好模板,然后根据你在可视化工具的选择,动态的进行改变即可。
109 0
Android自动生成Shape资源文件(下)
|
Android开发
Android Shape 详细使用
Android Shape 详细使用
124 0
|
XML Android开发 数据格式
Android shape的用法详解
Android shape的用法详解
Android shape的用法详解
|
XML API Android开发
|
XML 前端开发 Android开发
|
XML 前端开发 Android开发
Android 实现圆弧背景(Shape实现和自定义View)
如今Android系统的App,很多时候为了有更好的用户体验,都会有各种好看的UI,动画,点击效果等等,其中圆弧的控件在App中很常见,今儿就自己总结下自己实现圆弧的两种基础的方法。即Shape方法和使用View里面的方法自己画。