Android动画点击不运行
16lz
2021-01-25
不知道大家遇到过这种问题没有,明明通过setAnimation方法设置好了动画,也运行了start方法,但动画就是迟迟动不起来。
比如在点击事件中
@Override public void onClick(View v) { switch (v.getId()){ case R.id.bt_translate: TranslateAnimation translateAnimation = new TranslateAnimation( Animation.RELATIVE_TO_PARENT, 0, Animation.RELATIVE_TO_PARENT, 1.0f, Animation.RELATIVE_TO_PARENT, 0, Animation.RELATIVE_TO_PARENT, 1.0f); translateAnimation.setDuration(2000); translateAnimation.setRepeatCount(3);//循环4次 translateAnimation.setFillAfter(true);//停留在最后一帧 translateAnimation.setRepeatMode(Animation.REVERSE); image.setAnimation(translateAnimation); translateAnimation.start(); break; case R.id.btAlpha: AlphaAnimation alphaAnimation = new AlphaAnimation(0,1.0f); alphaAnimation.setDuration(3000); image.setAnimation(alphaAnimation); alphaAnimation.start(); break; } }
明明该写的都写了,但是就是不能运行。
其实我们只需要将
image.setAnimation(translateAnimation);translateAnimation.start();
改为
image.startAnimation(translateAnimation);
就ok了
感谢这位作者的帮助android动画的setAnimation与startAnimation的区别
setAnimation是告诉该控件我待会要执行什么动画,而要执行的的动画,是需要手动添加的。并且需要父view在动画快要开启的时候,调用invalidate。
而startAnimation告诉该控件,我要立马执行该动画,该动画就是已经设置好的动画。
更多相关文章
- android之退出应用程序
- Android(安卓)UI--动画 Animation
- android 保存 用户名和密码 设置等应用信息优化
- 【Dialer】自定义暗码进入测试模式
- Android(安卓)-- 基础
- Android获得控件在屏幕中的绝对坐标
- framework下资源文件---自定义统一的系统风格
- Android(安卓)textview 不使用ScrollView也可滚动的方法
- Android(安卓)四大组件 - 进程的 fork 创建过程