android自定义补间动画
2015-04-01 19:38
260 查看
public class MyAnimation extends Animation { private int centerX; private int centerY; private int duration; private Camera camera = new Camera(); public MyAnimation(int centerX, int centerY, int duration) { this.centerX = centerX; this.centerY = centerY; this.duration = duration; } @Override public void initialize(int width, int height, int parentWidth, int parentHeight) { super.initialize(width, height, parentWidth, parentHeight); setDuration(duration); setFillAfter(true); setInterpolator(new LinearInterpolator()); } /** <p><span style="color:rgb(63,127,95);"> *该方法的interpolatedTime代表了抽象的动画持续时间,不管动画实际持续时间多长,</span></p><p><span style="color:rgb(63,127,95);"> * interpolatedTime参数总是从0(动画开始时)~1(动画结束时)</span></p><p><span style="color:rgb(63,127,95);"> * Transformation参数代表了对目标组件所做的变.</span></p>*/ @Override protected void applyTransformation(float interpolatedTime, Transformation t) { super.applyTransformation(interpolatedTime, t); camera.save(); //根据interpolatedTime时间来控制x,y,z轴上的偏移 camera.save(); //根据interpolatedTime时间来控制X、Y、Z上的偏移 camera.translate(100.0f - 100.0f * interpolatedTime , 150.0f * interpolatedTime - 150 , 80.0f - 80.0f * interpolatedTime); // 设置根据interpolatedTime时间在Y柚上旋转不同角度。 camera.rotateY(360 * (interpolatedTime)); // 设置根据interpolatedTime时间在X柚上旋转不同角度 camera.rotateX((360 * interpolatedTime)); //获取Transformation参数的Matrix对象 Matrix matrix = t.getMatrix(); camera.getMatrix(matrix); matrix.preTranslate(-centerX, -centerY); matrix.postTranslate(centerX, centerY); camera.restore(); } }
其次是MainActivity
ListView listView = (ListView) findViewById(R.id.listView1); WindowManager manager = (WindowManager) getSystemService(WINDOW_SERVICE); Display display = manager.getDefaultDisplay(); int width = display.getWidth(); int height = display.getHeight(); listView.setAnimation(new MyAnimation(width/2,height/2,8000));
相关文章推荐
- Android 补间动画(Tween)之二,自定义补间动画
- 初学Android,图形图像之自定义补间动画(三十八)
- android自定义补间动画
- Android中的动画,自定义补间动画
- Android 修改原生NumberPicker数字选择器的分隔线颜色、文字颜色和大小,同时利用PopupWindow和补间动画自定义弹出效果
- Android 动画系列之自定义补间动画
- Android自定义控件:动画类(4)-----自定义补间动画
- 《疯狂Android讲义》 -- Android 动画系列之自定义补间动画(三维动画)
- android补间动画例子--Tween
- 写在前进的路上!Android的自定义动画和Handler的用法
- Android开发之自定义动画
- android 自定义动画按钮
- android 补间(Tween)动画
- Android 方向传感器 + Low Pass Filter +补间动画的一个Demo
- android 帧Frame和补间Tween动画
- android 自定义动画4 RotateAnimation源码分析
- android 自定义动画5 小知识点集锦
- android自定义圆角动画按钮
- Android基础篇之自定义Activity间的切换动画
- Android基础之自定义Activity间的切换动画