背景淡入淡出

Mar*_*tyn 0 animation android view

我正在尝试创建一种获取视图背景的方式来响应显示它已注册用户触摸,但我希望它看起来不错,所以希望背景颜色在触摸时更改为高亮颜色然后返回再来一次.

到目前为止,我已经创建了一个过渡动画,可以在触摸视图的背景上进行动画制作:

animatedBackgroundView.setBackgroundResource(R.anim.background_touch);
animatedBackgroundView.setOnTouchListener(new View.OnTouchListener() {
    @Override
    public boolean onTouch(View view, MotionEvent motionEvent) {
        TransitionDrawable transition = (TransitionDrawable) view.getBackground();
        transition.startTransition(500);
    }
});
Run Code Online (Sandbox Code Playgroud)

使用后台动画资源文件:

<?xml version="1.0" encoding="UTF-8"?>
<transition xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:drawable="#22ffffff" />
    <item android:drawable="#00ffffff" />
</transition>
Run Code Online (Sandbox Code Playgroud)

这很好用,但如果视图已经有背景那么就会被破坏.

有没有办法在不破坏现有背景的情况下动态创建类似的过渡动画效果?

小智 5

很可能你已经解决了这个问题!但我正在寻找相同的东西,你的代码与我合作:),但是我又添加了一行来解决你的问题:

transition.reverseTransition(500);
Run Code Online (Sandbox Code Playgroud)