Android开发之动画实现方法
本文实例讲述了Android开发之动画实现方法。分享给大家供大家参考。具体分析如下:
动画分为三种:
逐帧动画、布局动画和控件动画
控件动画实现
通过重写Animation的 applyTransformation (float interpolatedTime, Transformation t)函数来实现自定义动画效果,另外一般也会实现 initialize (int width, int height, int parentWidth, int parentHeight)函数,这是一个回调函数告诉Animation目标View的大小参数,在这里可以初始化一些相关的参数,例如设置动画持续时间、设置Interpolator、设置动画的参考点等。
OPhone在绘制动画的过程中会反复的调用applyTransformation 函数,每次调用参数interpolatedTime值都会变化,该参数从0渐变为1,当该参数为1时表明动画结束。通过参数Transformation 来获取变换的矩阵(matrix),通过改变矩阵就可以实现各种复杂的效果。
下面举例说明一个控件动画:
Animation anim = new Animation() { @Override protected void applyTransformation(float interpolatedTime, Transformation t) { if (interpolatedTime == 1) { v.setVisibility(View.GONE); } else { v.getLayoutParams().height = initialHeight - (int)(initialHeight * interpolatedTime); v.requestLayout(); } } @Override public boolean willChangeBounds() { return true; } };
例子中,一个view的高度逐渐由原来的高度变为0。当动画结束之后,view消失。
希望本文所述对大家的Android程序设计有所帮助。
相关文章
Android 中RecycleView实现item的点击事件
这篇文章主要介绍了Android 中RecycleView实现item的点击事件的相关资料,需要的朋友可以参考下2017-03-03Android ExpandableListView双层嵌套实现三级树形菜单
这篇文章主要介绍了Android ExpandableListView双层嵌套实现三级树形菜单,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下2018-11-11Android应用中使用Fragment组件的一些问题及解决方案总结
这里我们讲的Fragment主要探讨的是support库中的Fragment,包括Fragment常遇到的crash崩溃问题,嵌套Fragment收不到onActivityResult()回调以及一些常用tips等,需要的朋友可以参考下2016-05-05
最新评论