Android 动画的深入学习和制作(一)

说到android动画,我们几乎不用太多的思考,你可能立刻在脑海中就会想到Animations,或许你马上就可以在键盘上啪啪几下就敲出了TranslateAnimation,AlphaAnimation,SlaceAnimation,RotateAnimation等等动画类。好吧,那我们就从这些简单的动画类说起吧!我们一直都在用这几个动画类,不知道大家发现没有这几个动画类有点让人头疼让人晕,甚至蛋疼的事,比如:TranslateAnimation,移动动画,简单实例:
`/**
* 动画学习和制作
* @author 幸福
* {@linkplain}
* */
public class OtherActivity extends Activity {

private ImageView ivImageView;

@Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.other);
    ivImageView = (ImageView) findViewById(R.id.imageView1);

}

// 图片点击事件
public void ivClick(View view) {
    Toast.makeText(OtherActivity.this, "图片", Toast.LENGTH_LONG).show();
}

// 按钮点击事件
public void btnClick(View view) {

//移动动画,x ,y各移动200
TranslateAnimation translateAnimation = new TranslateAnimation(0, 200,
0, 200);
translateAnimation.setDuration(1000);
translateAnimation.setFillAfter(true);
ivImageView.startAnimation(translateAnimation);

}

}`
点击按钮前
很简单的一个动画,界面只放了一个头像和一个按钮,并都设置了点击事件,在没点击按钮之前点击头像弹出一个Toast,当再点击按钮,
点击按钮后
你发现动画效果实现了,此时你再去点击头像,坑爹的事情出现了,Toast竟然没有弹出来,当你再点击头像没有移动时的位置,Toast竟然又出现了,不信,你测试看看?
这是Animation坑爹的地方,好了,简单的解决:移动后,给头像设置点击事件。
那么Animation有缺陷,有没有其它的类能解决这个问题呢?当然有,接下来我们就来一起看看Android 动画的简洁实用的类:
一.属性动画类ObjectAnimator
ObjectAnimator源码
用法:

// 按钮点击事件
    @SuppressLint("NewApi")
    public void btnClick(View view) {
        // TranslateAnimation translateAnimation = new TranslateAnimation(0,
        // 200,
        // 0, 200);
        // translateAnimation.setDuration(1000);
        // translateAnimation.setFillAfter(true);
        // ivImageView.startAnimation(translateAnimation);
        // x方向移动
        ObjectAnimator.ofFloat(ivImageView, "translationX", 0.0F, 360.0F)
                .setDuration(1000).start();
        // y方向移动
        ObjectAnimator.ofFloat(ivImageView, "translationY", 0.0F, 360.0F)
                .setDuration(1000).start();
        ;
    }

简单的两句代码,就实现了同样的效果,而且你再点击图片,发现点击Toast有了。
好了,接下来就继续复杂一点的了。。。。。。。。。。。
坚持,坚持,再坚持,生命不止,奋斗不息——孤狼

猜你喜欢

转载自blog.csdn.net/jackiandroid/article/details/44930267