首页| 新闻| 娱乐| 游戏| 科普| 文学| 编程| 系统| 数据库| 建站| 学院| 产品| 网管| 维修| 办公| 热点
这里给正在学安卓的小白们分享一个动画吧,用处挺多,代码也不多,还望各位大佬不要打击。
进入正题,先看看效果
效果很炫酷很美好
好了 来看代码吧 该说的都在代码注释里面 这个不用多说 代码极其简单
//自定义一个类继承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();}
怎么样 看完以后是不是了解了很多
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持VEVB武林网。
ipad mini升级ios8.1卡不卡 ip
上北下南看主板:谈主板南北桥
浅谈数码相机照片发灰的问题
芭蕾舞蹈表演,真实美到极致
下午茶时间,悠然自得的休憩
充斥这繁华奢靡气息的城市迪拜风景图片
从山间到田野再到大海美丽的自然风景图片
肉食主义者的最爱美食烤肉图片
夏日甜心草莓美食图片
人逢知己千杯少,喝酒搞笑图集
搞笑试卷,学生恶搞答题
新闻热点
疑难解答
图片精选
Android图片压缩以及优化实例
Android 顶部标题栏随滑动时的渐变
五分钟教你Android-Kotlin项目编写
Android Studio控制台出现中文乱码
网友关注