【问题标题】:Animation in ListView item doesn't work after scrollingListView 项目中的动画在滚动后不起作用
【发布时间】:2012-03-14 20:58:06
【问题描述】:

我在一个列表视图项中有动画。当带有动画的列表项开始不可见时滚动列表后,我正在滚动回带有动画的列表视图项,但动画不再起作用。

getView() method :

iv.setImageResource(R.drawable.anim);
iv.requestFocus();              
((AnimationDrawable) iv.getDrawable()).start();

?

更新:

是问题错了还是没有任何想法?

【问题讨论】:

    标签: android


    【解决方案1】:

    您假设每次滚动视图(或对您可见)时,动画都会开始播放。但事实并非如此,视图可能不可见但尚未在内存中,因此当您滚动它并使其可见时,不会调用 getView() 方法。这就是为什么将动画放在列表中是一种不好的做法的原因。如果这是您最需要做的事情,我建议您自己实现整个视图。

    【讨论】:

    • 您的解释是准确的,但这并不意味着您不应该在列表项中使用动画。很多应用都非常有效地做到了这一点:你只需要了解ListView 是如何管理列表项的。
    • @DanHulme 但是您如何解决何时开始播放动画的问题?动画随机开始或一直播放的情况除外。
    猜你喜欢
    • 2014-07-14
    • 2014-03-02
    • 2018-05-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-12-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多