zoukankan      html  css  js  c++  java
  • Android-Selector不起作用

    Android-Selector不起作用

    Overview

    今天在做项目的时候,使用了一些 Selector 来给ImageView设置不同的Drawable,但是无论怎么设置ImageView的属性,Selector都不起作用。经过一番排查终于找到了原因。

    错误的Selector

    <?xml version="1.0" encoding="utf-8"?>
    <selector xmlns:android="http://schemas.android.com/apk/res/android">
        <item android:drawable="@drawable/ic_nav_my_normal" />
        <item android:drawable="@drawable/ic_nav_my_actived" android:state_selected="true" />
        <item android:drawable="@drawable/ic_nav_my_actived" android:state_checked="true" />
        <item android:drawable="@drawable/ic_nav_my_actived" android:state_pressed="true" />
    </selector>
    

    在上面的第一个Item定义的是 正常状态下的应该显示额Drawable,结果ImageView的Drawable切换不起作用。

    解决办法

    将正常状态下的Item,放到最后。如下

    <?xml version="1.0" encoding="utf-8"?>
    <selector xmlns:android="http://schemas.android.com/apk/res/android">
        <item android:drawable="@drawable/ic_nav_my_actived" android:state_selected="true" />
        <item android:drawable="@drawable/ic_nav_my_actived" android:state_checked="true" />
        <item android:drawable="@drawable/ic_nav_my_actived" android:state_pressed="true" />
        <item android:drawable="@drawable/ic_nav_my_normal" />
    </selector>
    

    然后运行程序,ImageView已经可以根据状态的不同,来显示不同的Drawable了。

  • 相关阅读:
    端口映射到公网工具
    C# app.config文件配置和修改
    C#基本知识点-Readonly和Const的区别
    C#知识点-StopWatch-计时
    python with open as f写中文乱码
    程序员不要去这样的公司
    关于老系统的重构和优化选择
    .Net Remoting 调用远程对象
    自定义的Config节点及使用
    前台线程和后台线程区别与使用技巧
  • 原文地址:https://www.cnblogs.com/slyfox/p/9573137.html
Copyright © 2011-2022 走看看