美文网首页Android开发经验谈Android开发Android技术知识
Android 通过Selector文件改变GridView或L

Android 通过Selector文件改变GridView或L

作者: AntDream | 来源:发表于2018-05-16 21:13 被阅读103次

    在点击GridView或是ListView的选项时常会遇到需要更改选中或是点击的Item的背景颜色,字体颜色的需求,最常用的方法就是通过编写Selector的方法。

    • 按压下去背景变成红色,放开恢复默认灰色
    <selector xmlns:android="http://schemas.android.com/apk/res/android">
        //默认灰色
        <item android:drawable="@drawable/bg_rectangle_solid_grey_f5f7fb_corner50"/>
        //按下去背景变红色
        <item android:state_pressed="true" android:drawable="@drawable/bg_rectangle_solid_red_ff4414_corner50"/>
        
    </selector>
    
    • 按压下去字体变成白色,放开恢复默认黑色
    <selector xmlns:android="http://schemas.android.com/apk/res/android">
        <item  android:color="@color/black_2D"/>
        <item  android:color="@color/white"  android:state_pressed="true"/>
    </selector>
    

    小心了,上面有个坑!用上面的代码并不能达到预期的效果,点击选项时一点改变也没有。原因就在于编写的顺序。我们需要把上面默认的设置放在最下面,也就是如下:

    <selector xmlns:android="http://schemas.android.com/apk/res/android">
    
        <item android:state_pressed="true" android:drawable="@drawable/bg_rectangle_solid_red_ff4414_corner50"/>
        
        //需要把这条默认情况下的设置放在最下面
        <item android:drawable="@drawable/bg_rectangle_solid_grey_f5f7fb_corner50"/>
    
    </selector>
    

    切记!切记!找问题找了半天,还以为是焦点问题什么的呢!


    欢迎关注我的微信公众号,和我一起学习一起成长!


    AntDream

    相关文章

      网友评论

        本文标题:Android 通过Selector文件改变GridView或L

        本文链接:https://www.haomeiwen.com/subject/bommdftx.html