Android – 状态选择器动画 – 仅动画消除,不按

我有一个非常基本的选择器,我用它作为一些按钮的背景来实现关闭状态.这是xml:
<selector xmlns:android="http://schemas.android.com/apk/res/android"
    android:exitFadeDuration="@android:integer/config_mediumAnimTime">
    <item android:drawable="@color/home_button_blue_down" android:state_selected="true" />
    <item android:drawable="@color/home_button_blue_down" android:state_pressed="true" />
    <item android:drawable="@color/home_button_blue" />
</selector>

使用此选择器,每次按钮更改状态时都会发生淡入淡出动画.换句话说,转换将在从按下按下到按下时以及从按下按下到按下时都会生成动画.

现在,我的问题是:它是否有可能使这些状态变化只有其中一个动画?当用户按下按钮时,我希望在没有动画的情况下立即进行状态转换.当按钮被按下时,我希望当正常状态消失时,状态会淡出.这可以完成吗?

解决方法

选择器上的动画:(我的drawables是颜色)
De-Press (Out)
android:exitFadeDuration="@android:integer/config_shortAnimTime"
Press (In)
android:enterFadeDuration="@android:integer/config_shortAnimTime"

完整示例:

<selector xmlns:android="http://schemas.android.com/apk/res/android"
      android:enterFadeDuration="@android:integer/config_shortAnimTime"
      android:exitFadeDuration="@android:integer/config_shortAnimTime">

<item android:state_checked="false" android:drawable="@color/transparent"/>
<item android:state_checked="true"  android:drawable="@drawable/circle_blue"/>
</selector>

相关文章

Android性能优化——之控件的优化 前面讲了图像的优化,接下...
前言 上一篇已经讲了如何实现textView中粗字体效果,里面主要...
最近项目重构,涉及到了数据库和文件下载,发现GreenDao这个...
WebView加载页面的两种方式 一、加载网络页面 加载网络页面,...
给APP全局设置字体主要分为两个方面来介绍 一、给原生界面设...
前言 最近UI大牛出了一版新的效果图,按照IOS的效果做的,页...