您的位置:首页 > 移动开发 > Android开发

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

2015-04-08 00:57 405 查看
说到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有了。

好了,接下来就继续复杂一点的了。。。。。。。。。。。

坚持,坚持,再坚持,生命不止,奋斗不息——孤狼
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: