我想高效地添加新添加的ListView项目。我认为这很简单,但我st upon了一个问题:TransitionDrawable:一旦完成就自动反向转换
我想播放TransitionDrawable动画,一旦它完成 - 倒带它。新项目将被高调引用一会儿,然后它将与其他项目融合在一起。
TransitionDrawable具有向前和向后播放动画的方法,但没有可用于同步的方法。我期望的可能性指定动画完成,类似的回调:
TransitionDrawable transition = (TransitionDrawable) view.getBackground();
transition.startTransition(500, new TransitionCompleteListener(){
public void completed()
{
transition.reverseTransition(500);
}
});
但没有像由TransitionDrawable类支持。
问题是:如何播放TransitionDrawable动画,当它完成时 - 立即反向播放它?我有一个想法,使用Timer
类来延迟动画后端部分的执行,但这个解决方案对于这样一个简单的东西看起来有点过于沉重。
或者我应该使用不同的TransitionDrawable?我想避免使用属性动画,因为我想支持较老的设备(并且自从Honeycomb开始PA可用)。
嗯......使用补间可以工作,如果我将整个ListView的背景颜色设置为用于高亮项目的颜色,并将所有行的颜色设置为白色。然后,通过操纵特定行的阿尔法值,我会达到最高效果。但是继承TransitionDrawable的想法似乎更好,更干净,更“正确”。我现在看了看它的源代码,看起来很容易实现我需要的东西。当我编写代码时,我会用解决方案更新我的问题,现在我需要回到我的硕士论文(不涉及这个ofc - 这是一个业余爱好项目)。你赢得了赏金。 – user1234567 2012-01-08 12:52:14