1、项目中使用动画可以让产品更具有活力,给产品带来不一样的体验。
2、but,属性动画这个强大的东西没法再项目中直接用,因为他不兼容3.0之前的版本,这个时候就要用NineOldAndroids来代替了
3、nineoldandroids兼容了安卓系统实现的所有的属性动画,而且扩展了更多的功能。
4、
(1)安卓动画有的已经做了笔记,这里只记录nineoldandroids有的或者是http://www.cnblogs.com/hpustudent/p/4589813.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动画的一部分和这个还是很像的,而且实现的比安卓的要复杂一点,随后打算把复杂一点的动画加入到里边,不写了,睡觉!