我找不到如何初始化动画对象的示例。
示例Animation ticketAnim;
好new Animation();
似乎不是一个有效的对象所以我不能只做Animation ticketAnim = new Animation();
,但我想。我采用IDE提供的建议初始化路由Animation ticketAnim = null;
当然,访问它会导致空指针异常
这样做的正确方法是什么?
答案 0 :(得分:1)
声明新动画时,需要使用动画类型的构造函数。这是我在代码中使用的一个动画控制器的示例代码:
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 API的链接中指定)。
这些包括:
如果需要,您还可以通过扩展Animation
类来创建自己的自定义动画。可以找到创建自定义动画的一个很好的示例here。