您的位置:首页 > 其它

项目中使用动画

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




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动画的一部分和这个还是很像的,而且实现的比安卓的要复杂一点,随后打算把复杂一点的动画加入到里边,不写了,睡觉!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: