时间:2021-05-20
这里给正在学安卓的小白们分享一个动画吧,用处挺多,代码也不多,还望各位大佬不要打击。
进入正题,先看看效果
效果很炫酷很美好
好了 来看代码吧 该说的都在代码注释里面 这个不用多说 代码极其简单
//自定义一个类继承Animation(android.view.animation.Animation)抽象类public class MyAnimation extends Animation { // 先定义成员变量 //X轴的中心坐标 int center_X; //Y轴的中心坐标 int center_Y; // 初始化Camera Camera camera = new Camera();}接下来要注意了
重写initialize()方法
/** * 在initialize对变量进行初始化* @param width* @param height* @param parentWidth* @param parentHeight*/@Overridepublic void initialize(int width, int height, int parentWidth, int parentHeight) { super.initialize(width, height, parentWidth, parentHeight); //获取X Y 中心点坐标 center_X = width/ 2; center_Y = height / 2; //动画的执行时间,3000毫秒 setDuration(3000L); setInterpolator(new AccelerateInterpolator());}写完这些以后就到了最关键的核心代码了
/** * 在applyTransformation通过矩阵修改动画* 这里是自定义动画的核心,动画执行的过程中一直在回调这个方法* 每次回调这个方法interpolatedTime都会改变* @param interpolatedTime* @param t*/@Overrideprotected void applyTransformation(float interpolatedTime, Transformation t) { final Matrix matrix = t.getMatrix(); //储蓄 camera.save(); //中心是绕Y轴旋转,这里可以自行设置其他轴 camera.rotateY(1080 * interpolatedTime); //加在变换矩阵上 camera.getMatrix(matrix); //设置翻转中心点 matrix.preTranslate(-center_X, -center_Y); matrix.postTranslate(center_X, center_Y); //恢复 camera.restore();}怎么样 看完以后是不是了解了很多
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
1,实现效果2,实现代码:【1】shape_drawable.xml文件【2】我们将该自定义环形圈设置给一个旋转动画,并利用该旋转动画自定义成一个环形进度圈的s
本文实例为大家分享了Android自定义加载圈动画展示的具体代码,供大家参考,具体内容如下实现如下效果:该效果图主要有3个动画:1.旋转动画2.聚合动画3.扩散
前言:前面几篇讲了自定义控件绘制原理Android自定义控件基本原理详解(一),Android自定义控件之自定义属性(二),Android自定义控件之自定义组合
简介Android动画主要包括视图动画和属性动画,视图动画包括Tween动画和Frame动画,Tween动画又包括渐变动画、平移动画、缩放动画、旋转动画。Twe
本文讲述Android自定义时间轴的实现过程,供大家参考,具体内容如下相关视频链接:Android自定义控件系列http://edu.csdn.net/cour