LayoutAnimationController可以仅为指定的视图设置动画

hap*_*ude 3 android layout-animation

是否有可能以LayoutAnimationController这样的方式覆盖Android :只有View我在其中指定的某些子项ViewGroup才会生成动画?我的目标是根据当前状态选择任意一组子视图,Activity并在同一时间使用相同的动画为它们设置动画,然后在以后选择不同的任意子视图集并执行相同的操作.我希望能够持续这样做直到Activity完成运行.

到目前为止,我已经查看并驳回了几个选项:

  1. startAnimation(Animation)单独调用特定子视图,但不能保证它们将在完全相同的时间开始和结束,特别是如果任意集中的视图数量很大.
  2. 覆盖LayoutAnimationController.getAnimationForView()似乎是最简单的方法,但方法是最终的,不能被覆盖.

我一直在摸不着头脑,并且认为我会给Stack Overflow一个机会.

hap*_*ude 7

我无法找到改变Android的方法LayoutAnimationController,但确实想出了一个能够实现我想要的简单解决方案.我创建了一个View子类,如果我选择的话,可以选择性地忽略调用来运行动画.

public class AnimationAverseView extends View {

    private boolean mIsAnimatable = true;

    public void setAnimatible(boolean isAnimatable) {
        if (!isAnimatable) {
            clearAnimation();
        }
        mIsAnimatable = isAnimatable;
    }

    @Override
    public void startAnimation(Animation animation) {
        if (mIsAnimatable) {
            super.startAnimation(animation);
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

我并不担心任何其他可能的动画相关方法,因为我只View通过a 动画s LayoutAnimationController.