我正在尝试创建一种获取视图背景的方式来响应显示它已注册用户触摸,但我希望它看起来不错,所以希望背景颜色更改为触摸时的高亮颜色然后又退出了。
到目前为止,我已经创建了一个过渡动画,可以在触摸视图的背景上进行动画制作:
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);
}
});
使用后台动画资源文件:
<?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>
这很有效,但是如果视图已经有背景,那么它就会被破坏。
有没有办法在不破坏现有背景的情况下动态创建类似的过渡动画效果?
答案 0 :(得分:5)
很可能你已经解决了这个问题!但我正在寻找相同的东西,你的代码与我合作:),但是我又增加了一行来解决你的问题:
transition.reverseTransition(500);