项目中使用动画
2015-06-23 00:17
176 查看
1、项目中使用动画可以让产品更具有活力,给产品带来不一样的体验。
2、but,属性动画这个强大的东西没法再项目中直接用,因为他不兼容3.0之前的版本,这个时候就要用NineOldAndroids来代替了
http://nineoldandroids.com/
3、nineoldandroids兼容了安卓系统实现的所有的属性动画,而且扩展了更多的功能。
4、
(1)安卓动画有的已经做了笔记,这里只记录nineoldandroids有的或者是/article/6368435.html没有提到的
(2)View属性动画,ViewPropertyAnimator,或者叫做view多属性动画,就是view的多个属性同时组合起来,很简单,一个平移+旋转+alpha
、
so easy
(3)路径动画,PathAnimation是例子中带的一个,可以把里边的放到库里边以方便以后的使用,使用方法有以下
第一步:为了兼容api 11,需要获取到执行动画的AnimatorProxy代理
第二步:设置path的坐标以及关键点之间的连接方式(直线或者狐线)
第三步:使用ofObject方法,传入PathEvaluator和坐标数组
第四步:在ofObject的target中实现set***,方法,在方法中设置对象的新的位置。
-------------------------------------------------------****************-----------------------------------------------------------------------------
端午节就这样过完了,mark,只为能打造一个完美体验的产品出来2015-06-23 0:16,端午假期结束,之前不怎么记录自己的技术,喜欢记在笔记本上,but,前一段老大让做前端的一些东西,时间长没做,忘了不少,找原来的两本前端笔记,翻来翻去找不到,好吧,还是记在blog上吧,以后翻一番还是挺方便的,之前做C++的,Qt动画的一部分和这个还是很像的,而且实现的比安卓的要复杂一点,随后打算把复杂一点的动画加入到里边,不写了,睡觉!
2、but,属性动画这个强大的东西没法再项目中直接用,因为他不兼容3.0之前的版本,这个时候就要用NineOldAndroids来代替了
http://nineoldandroids.com/
3、nineoldandroids兼容了安卓系统实现的所有的属性动画,而且扩展了更多的功能。
4、
(1)安卓动画有的已经做了笔记,这里只记录nineoldandroids有的或者是/article/6368435.html没有提到的
(2)View属性动画,ViewPropertyAnimator,或者叫做view多属性动画,就是view的多个属性同时组合起来,很简单,一个平移+旋转+alpha
、
ViewPropertyAnimator.animate(tvText) .translationX(300f) .translationY(300) .rotationY(100) .alpha(0.5f) .setDuration(3000);
so easy
(3)路径动画,PathAnimation是例子中带的一个,可以把里边的放到库里边以方便以后的使用,使用方法有以下
第一步:为了兼容api 11,需要获取到执行动画的AnimatorProxy代理
第二步:设置path的坐标以及关键点之间的连接方式(直线或者狐线)
第三步:使用ofObject方法,传入PathEvaluator和坐标数组
第四步:在ofObject的target中实现set***,方法,在方法中设置对象的新的位置。
public class NineOldActivity extends Activity{ private Button btnStart; private TextView tvText; private LinearLayout layoutMain; private AnimatorProxy textProxy; private ObjectAnimator anim; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_nineoldanimator); btnStart = (Button)findViewById(R.id.btn_start); tvText = (TextView)findViewById(R.id.text); layoutMain = (LinearLayout)findViewById(R.id.main); textProxy = AnimatorProxy.wrap(tvText); AnimatorPath path = new AnimatorPath(); path.moveTo(0, 0); path.lineTo(0, 300); path.curveTo(100, 0, 300, 900, 400, 500); anim = ObjectAnimator.ofObject(this, "buttonLoc", new PathEvaluator(), path.getPoints().toArray()); anim.setDuration(1000); new Handler().postDelayed(new Runnable() { @Override public void run() { anim.start(); } }, 1000); /* btnStart.setOnClickListener(new OnClickListener() { @Override public void onClick(View v) { } }); */ } public void setButtonLoc(PathPoint newPoint){ textProxy.setTranslationX(newPoint.getX()); textProxy.setTranslationY(newPoint.getY()); } }
-------------------------------------------------------****************-----------------------------------------------------------------------------
端午节就这样过完了,mark,只为能打造一个完美体验的产品出来2015-06-23 0:16,端午假期结束,之前不怎么记录自己的技术,喜欢记在笔记本上,but,前一段老大让做前端的一些东西,时间长没做,忘了不少,找原来的两本前端笔记,翻来翻去找不到,好吧,还是记在blog上吧,以后翻一番还是挺方便的,之前做C++的,Qt动画的一部分和这个还是很像的,而且实现的比安卓的要复杂一点,随后打算把复杂一点的动画加入到里边,不写了,睡觉!
相关文章推荐
- Madrid 多用途 WordPress主题[v1.4.1]
- 程序函数设计的幂等性
- 第一阶段站立会议8
- Android之Handler详解(四)
- 新花生壳内网版无需公网IP、无需路由器设置端口映射即可使用
- JavaOO基础理论知识
- 最后期限阅读笔记2
- Android之Handler详解(三)
- 成人学骑自行车 一跤不摔的秘密
- 每次用UltraEditor编辑文本都会生成一个.txt.bak文件,好烦人的,怎么才能让它不生成呢。
- 第一阶段站立会议7
- (译)缓存在AFNetworking中是如何工作的?AFImageCache和NSUrlCache给你答案
- 开博了,,,
- 《测试驱动开发》阅读笔记三
- 求最大公约数(欧几里得算法)
- 学习笔记-基础知识1-java编程概述
- Android之Handler详解(二)
- cocos2d-x初探
- samba服务实现linux和windows文件共享
- cocos2d-x初探