当前位置: 首页 > news >正文

动漫制作专业实训苏州百度seo

动漫制作专业实训,苏州百度seo,哈尔滨网站开发方案,notefolio设计官网Android 动画框架 其中包括#xff0c;帧动画、视图动画#xff08;补间动画#xff09;、属性动画。 在Android3.0之前#xff0c;视图动画一家独大#xff0c;之后属性动画框架被推出。属性动画框架#xff0c;基本可以实现所有的视图动画效果。 视图动画的效率较高… Android 动画框架 其中包括帧动画、视图动画补间动画、属性动画。 在Android3.0之前视图动画一家独大之后属性动画框架被推出。属性动画框架基本可以实现所有的视图动画效果。 视图动画的效率较高且使用方便。但是相比属性动画视图动画一个非常大的缺陷就是不具备交互性。当某个元素发生视图动画后其响应事件的位置还依然在动画前的地方所以视图动画只能做普通的动画效果避免交互发生。 书接上篇Android 动画之视图动画的使用 Animator 属性动画 其拥有ObjectAnimator单个动画和AnimatorSet动画集两个类。 使用 ObjectAnimator 可以控制单个View的某个属性值的变化而将多个 ObjectAnimator 组合到一起就可以形成一个 AnimatorSet 动画集合。 ObjectAnimator ObjectAnimator可以调用 setFrameDelay(longframeDelay) 设置动画帧之间的间隙时间通过调整帧率的方式减少动画过程中频繁绘制界面。从而在不影响动画效果的前提下减少CPU资源消耗。 最重要的是属性动画通过属性的get、set方法来真实地控制一个View的属性值。使用方法如下 translationX和translationY控制着View从布局容器的左上角坐标偏移的位置 ObjectAnimator animatorObjectAnimator.ofFloat(view,translationX,300); animator.setDuration(300); animator.start(); pivotX 和 privotY控制着View的支点位置默认支点为View的中心 rorationX 和 rorationY 控制View围绕支点进行2D和3D旋转scaleX 和 scaleY控制着View围绕它的支点进行2D缩放alpha控制View的alpha透明度。默认值1不透明0完全透明。 监听事件 ObjectAnimator anima ObjectAnimator.ofFloat(View,alpha,0.5f); anima.addListener(new AnimatorListener(){Overriderpublic void onAnimationStart(Animator animation){//开始}Overriderpublic void onAnimationRepeat(Animator animation){ //重复}Overriderpublic void onAnimationEnd(Animator animation){//结束 }Overriderpublic void onAnimationCancel(Animator animation){ //取消 } }); anima.start(); 也可以进行选择单个事件进行监听 anima.addListener(new AnimatorListenerAdapter(){Overridepublic void onAnimationEnd(Animator animation){//结束} }); AnimatorSet AnimatoSet 可以通过 playTogether()、playSequentially()、animSet.play().with()、before()、after()来控制多个动画的协同工作方式从而做到对动画播放顺序的控制。 ObjectAnimator animator1 ObjecteAnimator.ofFloat(view,translation,300f); ObjectAnimator animator1 ObjecteAnimator.ofFloat(view,scaleX,1); ObjectAnimator animator1 ObjecteAnimator.ofFloat(view,scaleY,1); AnimatorSet setnew AnimatorSet(); set.setDuration(1000); set.playTogether(animator1,animator2,animator3);//同时播放动画 set.start(); 自定义动画 通过继承Animation类重写其动画的方法实现。 其中一个关键方法如下 applyTransformation(float interpolatedTime ,transformation t) interpolatedTime插值器的时间因子取值范围为01 之间transformation 矩阵封装类使用它获取矩阵对象getMatrix() 案例模拟电视机关闭效果的动画来初步了解自定义动画。代码实现如下 /*** Created by aiyang on 2018/5/28.*/ public class CustomTV extends Animation {private int mCenterWidth;private int mCenterHeight;private Camera cameranew Camera();Overridepublic void initialize(int width, int height, int parentWidth, int parentHeight) {super.initialize(width, height, parentWidth, parentHeight);setDuration(2000);setFillAfter(false);setRepeatCount(3);setInterpolator(new AccelerateInterpolator());//缩放的中心位置mCenterWidth width/2;mCenterHeight height/2;}Overrideprotected void applyTransformation(float interpolatedTime, Transformation t) {final Matrix matrixt.getMatrix();//让一个图像纵向比例不断缩小就能实现电视机关闭的效果matrix.preScale(1,1-interpolatedTime,mCenterWidth,mCenterHeight);} } 自定义3D动画 结合矩阵Matrix并使用 Camera 类可以实现一个自定义的3D动画效果。 这里的Camera并非系统相机类而是指的是android.graphics.Camera 中的 Camera 类它封装了openGL的3D动画从而可以非常方便的创建3D动画效果。 接上面的代码进行修改如下 /*** Created by aiyang on 2018/5/28.*/ public class CustomAnim extends Animation {private int mCenterWidth;private int mCenterHeight;private Camera mCamera new Camera();private float mRotateY 0.0f;Overridepublic void initialize(int width, int height, int parentWidth, int parentHeight) {super.initialize(width, height, parentWidth, parentHeight);setDuration(3000);setFillAfter(true);setRepeatCount(3);setInterpolator(new BounceInterpolator());mCenterWidth width / 2;mCenterHeight height / 2;}//暴露接口设置旋转角度public void setRotateY(float rotateY){mRotateYrotateY;}Overrideprotected void applyTransformation(float interpolatedTime, Transformation t) {final Matrix matrixt.getMatrix();mCamera.save();//使用Camera设置旋转的角度mCamera.rotateY(mRotateY*interpolatedTime);//将旋转变换作用到Matrix上mCamera.getMatrix(matrix);mCamera.restore();//通过pre方法设置矩阵作用前的偏移量来改变旋转中心matrix.preTranslate(mCenterWidth,mCenterHeight);matrix.postTranslate(-mCenterWidth,-mCenterHeight);} }代码调用 CustomAnim anim new CustomAnim();anim.setRotateY(10);textView.setText(推开门);textView.startAnimation(anim); 当然根据对属性动画的知识学习我们知道属性动画可以支持3D旋转 即rorationX 和 rorationY 控制View围绕支点进行2D和3D旋转
http://www.pierceye.com/news/385047/

相关文章:

  • 青岛做网站需要多少钱怎么在网上卖东西赚差价
  • 永康网站设计新闻门户网站建设方案
  • 个人做网站被骗洛阳电商网站建设公司排名
  • 蒙文网站建设情况汇报设计素材网站照片
  • 南京网站设计费用wordpress讨论
  • 可以做防盗水印的网站工业设计专业最好的大学
  • 中国flash网站模板中心温州做网站软件
  • 个人网站设计论文前言搜索引擎推广的网络营销渠道
  • 中国国家建设部网站如何做网站赚流量钱
  • wordpress 网站底部美化天津seo排名扣费
  • 网站开发PHP招聘宁波梅山建设局网站
  • 免费做一建或二建题目的网站colorway wordpress
  • 简单网站建设合同贵州省高层建筑信息平台
  • 手机网站登录模板电视剧百度风云榜
  • 一嗨租车网站建设的功能特色梅林做网站
  • 网站关于我们怎么做36氪 wordpress 模板
  • 医疗网站建设计划书菏泽手机网站建设
  • 南京外贸网站建设哪家好免费网站建站方法
  • 文化馆建设网站网架公司有哪些
  • 企业如何申请网站51网站空间相册
  • 自己电脑做网站服务器系统网站建设违约交付
  • 什么叫域名访问网站wordpress app 接口
  • 学生网站建设实训总结工信部备案号查询平台
  • 凡科建站如何制作论坛备案网站需要多久
  • 网站建设的公司哪家是上市公司专业外贸网站制作
  • 建站公司杭州免费投票网站制作
  • 网站优化公司效果网络营销毕业后做什么工作
  • 移动互联网的应用论文可以优化网络的软件
  • 网站建设软件哪个最好郑州广告设计与制作公司
  • 浦口区网站建设售后保障如何维护网站