这里给正在学安卓的小白们分享一个动画吧,用处挺多,代码也不多,还望各位大佬不要打击。
进入正题,先看看效果
效果很炫酷很美好
好了 来看代码吧 该说的都在代码注释里面 这个不用多说 代码极其简单
//自定义一个类继承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 */ @Override public 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 */ @Override protected 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(); }
恋爱进行时九游版
恋爱进行时九游版是一款以模拟恋爱玩法为核心的角色扮演手游,精
皇室对决fr(Null’s Royale)
皇室对决fr,即皇室战争的私服变态版本,在该版本中玩家能够拥
养了个猫联机版游戏
养了个猫小游戏一个猫咪主题的模拟经营类型的手游,在游戏中我那
模拟山羊收获日小米版
模拟山羊收获日小米版是一个极其魔性的手机游戏,在游戏中玩家将
女配逆袭之素衣
女配逆袭之素衣是一款恋爱养成冒险的一款游戏,可以角色扮演,在