Android 动画的深入学习和制作(一)
2015-04-08 00:57
405 查看
说到android动画,我们几乎不用太多的思考,你可能立刻在脑海中就会想到Animations,或许你马上就可以在键盘上啪啪几下就敲出了TranslateAnimation,AlphaAnimation,SlaceAnimation,RotateAnimation等等动画类。好吧,那我们就从这些简单的动画类说起吧!我们一直都在用这几个动画类,不知道大家发现没有这几个动画类有点让人头疼让人晕,甚至蛋疼的事,比如:TranslateAnimation,移动动画,简单实例:
`/**
* 动画学习和制作
* @author 幸福
* {@linkplain}
* */
public class OtherActivity extends Activity {
//移动动画,x ,y各移动200
TranslateAnimation translateAnimation = new TranslateAnimation(0, 200,
0, 200);
translateAnimation.setDuration(1000);
translateAnimation.setFillAfter(true);
ivImageView.startAnimation(translateAnimation);
}`
![](http://img.blog.csdn.net/20150408000715106)
很简单的一个动画,界面只放了一个头像和一个按钮,并都设置了点击事件,在没点击按钮之前点击头像弹出一个Toast,当再点击按钮,
![](http://img.blog.csdn.net/20150408001000376)
你发现动画效果实现了,此时你再去点击头像,坑爹的事情出现了,Toast竟然没有弹出来,当你再点击头像没有移动时的位置,Toast竟然又出现了,不信,你测试看看?
这是Animation坑爹的地方,好了,简单的解决:移动后,给头像设置点击事件。
那么Animation有缺陷,有没有其它的类能解决这个问题呢?当然有,接下来我们就来一起看看Android 动画的简洁实用的类:
一.属性动画类ObjectAnimator
ObjectAnimator源码
用法:
简单的两句代码,就实现了同样的效果,而且你再点击图片,发现点击Toast有了。
好了,接下来就继续复杂一点的了。。。。。。。。。。。
坚持,坚持,再坚持,生命不止,奋斗不息——孤狼
`/**
* 动画学习和制作
* @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有了。
好了,接下来就继续复杂一点的了。。。。。。。。。。。
坚持,坚持,再坚持,生命不止,奋斗不息——孤狼
相关文章推荐
- android 之动画的深入学习
- android动画深入学习
- 深入Android 【二】 —— 架构和学习
- 深入Android 【二】 —— 架构和学习 推荐
- Android开发者应该深入学习的10个开源应用项目【ZZ】
- Android开发者必须深入学习的10个应用开源项目
- Android开发者应该深入学习的10个开源应用项目[转]
- 前沿视频教室,学习网页和动画的设计开发制作技巧http://learning.artech.cn/
- Android开发者必须深入学习的10个应用开源项目
- Android开发者应该深入学习的10个开源应用项目_IT新闻_博客园
- Android开发者必须深入学习的10个应用开源项目
- Android开发者应该深入学习的10个开源应用项目
- android深入研究和学习的课程
- Android开发者必须深入学习的10个应用开源项目
- Android开发者必须深入学习的10个应用开源项目
- Android开发者必须深入学习的10个应用开源项目
- 深入Android 【二】 —— 架构和学习
- Android开发者必须深入学习的10个应用开源项目
- 深入Android 【二】 —— 架构和学习
- Android开发者必须深入学习的10个应用开源项目