Android初始化动画



我找不到如何初始化动画对象的示例。

示例Animation ticketAnim;

new Animation();似乎不是一个有效的对象,所以我不能只做Animation ticketAnim = new Animation();,但我想做。我采用IDE提供的建议初始化路径,即Animation ticketAnim = null;

当然,访问它会导致空指针异常

正确的方法是什么?

当声明一个新的动画时,你需要使用动画类型的构造函数。以下是我在代码中使用的一个动画控制器的示例代码:

private void addDeleteDropAnimation() {
    AnimationSet set = new AnimationSet(true);
    Animation animation = new AlphaAnimation(0.0f, 1.0f);
    animation.setDuration(150);
    set.addAnimation(animation);
    animation = new TranslateAnimation(
        Animation.RELATIVE_TO_SELF, 0.0f,Animation.RELATIVE_TO_SELF, 0.0f,
        Animation.RELATIVE_TO_SELF, -1.0f,Animation.RELATIVE_TO_SELF, 0.0f
    );
    animation.setDuration(300);
    set.addAnimation(animation);
    controllerDel = new LayoutAnimationController(set, 0.5f);
    vw_delLinearLayout.setLayoutAnimation(controllerDel);
}

Animation类本身只是一个抽象。要使用动画,实现animation的一个直接知道的子类(也在animation API的链接中指定)。

这些包括:

  • AlphaAnimation
  • TranslateAnimation
  • RotateAnimation
  • ScaleAnimation

如果你愿意,你也可以通过扩展Animation类来创建你自己的自定义动画。在这里可以找到一个创建自定义动画的好例子。

最新更新