已上传源码到GitHub,可能有所改变。
国内可以访问Gitee,来自开学后虚脱的我。。。
已上传aix文件到GitHub,重写已完成,增加了动画开始和结束监听。
aia和apk会放在github里aia-apk文件夹。本章是3_Anim
看了别人优秀的博客,发现自己写的博客就是一团糟。。。
写博客不是秀出代码来让大家看看我有多牛,也不是让大家跟着我一起编译出这个插件,而是我有什么问题,怎么解决的,说给大家听听可能会有所帮助。
趁着代码重构,也顺便重写一下博客,从问题的解决入手。之前的两个闹着玩一样的就算了。
大家还是用力的喷一喷我吧,我已经做好了心里准备。
顺便再说一下,现在的动画插件已经不能对那些ai原生控件进行操控了,只能对有id的view进行设置。
0.问题
App Inventor有个很严重的缺点,那就是不支持动画,我们可以考虑通过插件解决。
在Android下,有一个View.animate()的动画实现方式,超简洁。
比如我让textView在2000ms内旋转720°
textView.animate().rotation(720).setDuration(2000).start();
有没有惊叹到!!!就是这般简洁!
其实现原理就是View.animate()会获取动画对象ViewPropertyAnimator,其他的设置方法就是对这个对象设置并返回,所以可以连续使用,看看源码就懂了,最后一个start就开始动画。
但是ai里返回值没有人权,不能调用他的方法,只能再次被当作参数的分。
如果让方法都加上一个参数用来传递的话,可读性也完了,会变成这个惨样:
App Inventor动画插件开发与问题解决

本文介绍了如何为App Inventor开发动画插件,解决了App Inventor不支持动画的问题。通过封装ViewPropertyAnimator,实现了对Android视图的动画控制。文章详细讲解了解决方案的设计模式和源码,并讨论了对原生组件的支持。此外,还分享了测试情况和未来的开发计划。
最低0.47元/天 解锁文章
1万+

被折叠的 条评论
为什么被折叠?



