最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501
当前位置: 首页 - 科技 - 知识百科 - 正文

PropertyAnimation属性动画,还用补间动画你就out了_html/css

来源:懂视网 责编:小采 时间:2020-11-27 16:17:57
文档

PropertyAnimation属性动画,还用补间动画你就out了_html/css

PropertyAnimation属性动画,还用补间动画你就out了_html/css_WEB-ITnose://android动画有补间动画、逐帧动画和属性动画(支持3.0版本+),本篇博客主要介绍属性动画。 效果图: 一、单个动画的使用 定义动画文件: //注意:动画文件要放在 res/animator/ 目录下 代码中调用: ObjectAnimator animator = (
推荐度:
导读PropertyAnimation属性动画,还用补间动画你就out了_html/css_WEB-ITnose://android动画有补间动画、逐帧动画和属性动画(支持3.0版本+),本篇博客主要介绍属性动画。 效果图: 一、单个动画的使用 定义动画文件: //注意:动画文件要放在 res/animator/ 目录下 代码中调用: ObjectAnimator animator = (

//android动画有补间动画、逐帧动画和属性动画(支持3.0版本+),本篇博客主要介绍属性动画。
效果图: 一、单个动画的使用

定义动画文件:

//注意:动画文件要放在 res/animator/ 目录下

代码中调用:

ObjectAnimator animator = (ObjectAnimator) AnimatorInflater.loadAnimator(this, R.animator.anim_scale);animator.setTarget(view);animator.start();

纯代码添加动画:

ObjectAnimator animation = ObjectAnimator.ofFloat(view, "scaleX", 1.0f, 2.0f);animation.setDuration(1000);animation.start();
二、组合动画的使用

定义动画文件:

  

代码中调用:

AnimatorSet set = (AnimatorSet) AnimatorInflater.loadAnimator(this, R.animator.anim_multi);set.setTarget(view);set.start();

纯代码添加动画:

AnimatorSet set = new AnimatorSet();//组合动画ObjectAnimator scaleX = ObjectAnimator.ofFloat(view, "scaleX", 1f, 2f);ObjectAnimator scaleY = ObjectAnimator.ofFloat(view, "scaleY", 1f, 2f);set.setDuration(2000);set.setInterpolator(new DecelerateInterpolator());set.play(scaleX).with(scaleY);//两个动画同时开始set.start();
三、更改单个属性
PropertyValuesHolder pvhX = PropertyValuesHolder.ofFloat("translationX", 0f, 300f);PropertyValuesHolder pvhY = PropertyValuesHolder.ofFloat("translationY", 0f, 300f);ObjectAnimator animator = ObjectAnimator.ofPropertyValuesHolder(view, pvhX, pvhY);animator.setDuration(2000);animator.start();
四、快速设置多种动画
//ViewPropertyAnimator在我看来相当于一个view的动画管理者,调用view.animate()即可获取。
ViewPropertyAnimator animator = view.animate(); animator.translationX(50).rotationBy(-90).rotation(90).setDuration(1000).start();
五、关系分析


多个动画属性(PropertyValues)构成一个动画对象(ObjectAnimator),多个动画对象(ObjectAnimator)合成一个组合动画(AnimatorSet)

六、动画分析
//在属性动画中新增的动画效果有以下几种
1)translationX 和 translationY:这两个属性控制了View所处的位置,它们的值是由layout容器设置的,是相对于坐标原点(0,0 左上角)的一个偏移量。2)rotation, rotationX 和 rotationY:控制View绕着轴点(pivotX和pivotY)旋转。3)scaleX 和 scaleY:控制View基于pivotX和pivotY的缩放。4)pivotX 和 pivotY:旋转的轴点和缩放的基准点,默认是View的中心点。5)x 和 y:描述了view在其父容器中的最终位置,是左上角左标和偏移量(translationX,translationY)的和。6)aplha:透明度,1 是完全不透明,0 是完全透明。
七、彩蛋
修改view的背景色
/** ArgbEvaluator:这种评估者可以用来执行类型之间的插值整数值代表ARGB颜色。* FloatEvaluator:这种评估者可以用来执行浮点值之间的插值。* IntEvaluator:这种评估者可以用来执行类型int值之间的插值。* RectEvaluator:这种评估者可以用来执行类型之间的插值矩形值。** 由于本例是改变View的backgroundColor属性的背景颜色所以此处使用ArgbEvaluator*/ObjectAnimator animator = ObjectAnimator.ofInt(view, "backgroundColor", Color.RED, Color.BLUE, Color.GRAY, Color.GREEN);animator.setInterpolator(new DecelerateInterpolator());animator.setDuration(1500);animator.setRepeatCount(-1);animator.setRepeatMode(Animation.REVERSE);animator.setEvaluator(new ArgbEvaluator());animator.start();
八、放大招了
//属性动画不止可以应用于View,还可以应用于任何对象。

看到上面view变形的时候字体也变了,好不舒服有没有?属性动画的亮点来啦,可以只更改width!

ObjectAnimator.ofInt(view, "width", 800).setDuration(5000).start();
Tip:

为了在各种安卓版本上使用属性动画,你需要采用NineOldAndroids。

声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文档

PropertyAnimation属性动画,还用补间动画你就out了_html/css

PropertyAnimation属性动画,还用补间动画你就out了_html/css_WEB-ITnose://android动画有补间动画、逐帧动画和属性动画(支持3.0版本+),本篇博客主要介绍属性动画。 效果图: 一、单个动画的使用 定义动画文件: //注意:动画文件要放在 res/animator/ 目录下 代码中调用: ObjectAnimator animator = (
推荐度:
标签: it 动画 out
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top