美文网首页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