我找不到如何初始化动画对象的示例。
示例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
类来创建你自己的自定义动画。在这里可以找到一个创建自定义动画的好例子。