`
lishubing1126
  • 浏览: 8443 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
文章分类
社区版块
存档分类
最新评论

animation相关类

 
阅读更多

LinearInterpolator

变化率是个常数,即 f (x) = x.

方法:public float getInterpolation(float input)

AccelerateInterpolator--开始变化很慢,然后逐渐变快,即 f(x) = x*x 或者 f(x) = pow(x, 2*mFactor).

方法:public float getInterpolation(float input)

AccelerateDecelerateInterpolator--变化率开始和结束都很慢,但中间很快,即 f(x) = (cos ((x+1)*PI) / 2.0f) + 0.5f.

方法:public float getInterpolation(float input)

LinearInerpolatorAccelerateInterpolator DecelerateInterpolator AccelerateDecelerateInterpolatorCycleInterpolator Interpolator 的子类,分别实现了匀速、加速、减速、变速、循环等效果。

AlphaAnimation

控制透明度

构造函数:

@param开始的透明度

@param结束的透明度

AlphaAnimation(float fromAlpha, float toAlpha)

方法:

willChangeBounds() 具体不详,不过其返回值是固定的都是false

willChangeTransformationMatrix() false

ScaleAnimation

控制尺寸

构造函数:

@param开始时x方向的伸缩比列

@param结束时x方向的伸缩比列

@param开始时y方向的伸缩比列

@param结束时y方向的伸缩比列

ScaleAnimation(float fromX, float toX, float fromY, float toY)

@param动画在x轴的伸缩位置0%-100%中取值,50%为物件的XY方向坐标上的中点位置

@param动画在y轴的伸缩位置

ScaleAnimation(float fromX, float toX, float fromY, float toY, float pivotX, float pivotY)

@param pivotXType动画在X轴相对于物件位置类型--固定的一些数据

@param pivotYType动画在X轴相对于物件位置类型

pivotXValuepivotYValue同上面的pivotXpivotY

ScaleAnimation(float fromX, float toX, float fromY, float toY,int pivotXType, float pivotXValue, int pivotYType, float pivotYValue)

方法:

initialize(int width, int height, int parentWidth, int parentHeight)设置动画的大小根据父类的维数(猜测)

TranslateAnimation

移动

构造函数:

@param开始时x的位置

@param结束时x的位置

@param开始时y的位置

@param结束时y的位置

TranslateAnimation(float fromXDelta, float toXDelta, float fromYDelta, float toYDelta)

@param参考上面ScaleAnimation

TranslateAnimation(int fromXType, float fromXValue, int toXType, float toXValue,int fromYType, float fromYValue, int toYType, float toYValue)

方法:

@paramScaleAnimation

initialize(int width, int height, int parentWidth, int parentHeight)

RotateAnimation

旋转

构造函数:

@param开始的角度

@param结束的角度

RotateAnimation(float fromDegrees, float toDegrees)

@param动画在x轴的旋转位置

@param动画在x轴的旋转位置

RotateAnimation(float fromDegrees, float toDegrees, float pivotX, float pivotY)

方法:

@paramScaleAnimation

initialize(int width, int height, int parentWidth, int parentHeight)

Animation

抽象类,所有控制动画的都继承与该类

Aniamtion 是基类,他记录了动画的通用属性和方法。主要的属性包括动画持续时间、重复次数、interpolator等。

方法:---只列举了几个方法,用法很简单,可以去看sdk

getTransformation (currentTime, outTransformation)

该方法根据当前时间 (currentTime) interpolator,计算当前的变换,在 outTransformation 中返回。

setRepeatMode(int)—在测试AnimationSet是该函数没有成功,可能有什么地方设置错了,以后再跟进

@param Animation.RESTART回到动作开始时的坐标,Animation.REVERSE反转的意思,a->b,在从b->a,Animation.INFINITE不断重复该动作

设置动作结束后,将怎样处理,只有在repeatCount大于0或为INFINITE的时候setRepeatMode才会生效

TranslateAnimationRotateAnimationAlphaAnimationScaleAnimation等是Animation的子类,分别实现了平移、旋转、改变透明度、缩放等动画。

AnimationSet

设置一个动画组,就是将一系列动作合在一起形成新的动画

可以包含多个Animation,但都是在同一个时间执行的,是并行,不是串行执行的。如果AnimationSet中有一些设定,如duration,fillBefore等,它包含的子动作也设定了的话,子动作中的设定将会给覆盖掉。

构造函数:

@param是否公用动画插入器,为true表示共用AnimationSet的插入器

AnimationSet(boolean shareInterpolator)

方法:==

@paramtrue时将在播放完后被应用,播完后停在最后一幅画上,这里重写了Animation的该方法,其他的基本上都是直接使用父类的

setFillAfter(boolean fillAfter)

@paramtrue时将在开始前被应用,播完后停在第一幅画上,好像不设置该属性也会停留在最开始的那副上面

setFillBefore(boolean fillBefore)

@param在使用AnimationSet的重复mode时,还没有看到有什么效果,但是它的解释和Animation的该方法是一样的

setRepeatMode(int repeatMode)

@param动画停留时间间隔,从上次结束后停留多长时间进入下一次动画

setStartOffset(long startOffset)

@param添加动画

addAnimation(Animation a)

Example

AnimationSet aa = new AnimationSet(true);

Animation myAnimaton = new TranslateAnimation(0,100,0,100);

aa.addAnimation(myAnimaton);

Animation myAnimaton1 = new RotateAnimation(0,360);

aa.addAnimation(myAnimaton1);

myImage.startAnimation(aa);

aa.start();

aa.setDuration(2000);

aa.setFillAfter(true);

AnimationUtils

该类没有父类,动画的辅助类.构造函数也没有,使用默认的

方法:

@param可以看到不需要实例化该对象就可以使用,通过资源xml获得一个动画

static Animation loadAnimation(Context context, int id)

TranslateAnimation manmation = (TranslateAnimation)AnimationUtils. loadAnimation(this,R.anim.animation);

@param

LayoutAnimationController loadLayoutAnimation(Context context, int id)

LayoutAnimationController

Layout animation controller is used to animated a layout's, or a view group's, children.

该类和其衍生类GridLayoutAnimationControllerGridLayoutAnimationController.AnimationParameters等还没有看到相关资料,也没有用过

Animation.Description

Utility class to parse a string description of a size.

GridLayoutAnimationController

A layout animation controller is used to animated a grid layout's children.

GridLayoutAnimationController.AnimationParameters

The set of parameters that has to be attached to each view contained in the view group animated by the grid layout animation controller.

LayoutAnimationController.AnimationParameters

The set of parameters that has to be attached to each view contained in the view group animated by the layout animation controller.

Transformation

Defines the transformation to be applied at one point in time of an Animation.

xml文件中设置动画可以参考android_xml文件中介绍的,有实例解释

AlphaAnimation

渐变透明度动画效果

ScaleAnimation

渐变尺寸伸缩动画效果

TranslateAnimation

画面转换位置移动动画效果

RotateAnimation

画面转移旋转动画效果

transition设置两张图片的过渡,好像只能设置两张之间的过渡,多设置几张也只显示前面两张

分享到:
评论

相关推荐

    Dialog实现3D翻转效果

    在实际开发中,为了保证兼容性和性能,开发者还需要关注Android版本的差异,对于API 19以下的版本,可能需要使用旧的 Animation 相关类,而对于API 19及以上的版本,推荐使用 ViewPropertyAnimator 或者 Animator ...

    Android FoldableLayout展开效果.rar

    在实现动画时,开发者可能会使用 Android 的 Animation 相关类,或者更现代的 Animator API。这些API允许我们精确地控制视图属性的变化,比如宽度、高度、透明度等,从而实现视觉上的展开和折叠效果。此外,为了优化...

    android动画介绍之 自定义Animation动画

    总结,Android的自定义`Animation`动画是通过继承`Animation`类并重写相关方法来实现的,它可以为View创建各种动态效果。然而,随着Android版本的更新,属性动画成为更推荐的选择,因为它提供了更强大、更灵活的动画...

    vc 轻松实现gif效果的mfc类Gif-Animation

    `vcer.net.url`可能是一个链接,指向关于VC++或者GIF处理的在线资源,如开发者论坛、教程或相关的API文档,帮助你深入理解和使用这个类。 至于`Gif-Animation`,这可能是包含源码的文件夹,里面可能有.cpp和.h文件...

    flutter_animation01.7z

    本压缩包"flutter_animation01.7z"包含了 Flutter 动画相关的代码工程,特别适合开发者深入学习和实践Flutter中的动画实现。 在Flutter中,动画的实现主要依靠`Animation`类和`AnimatedBuilder`组件。`Animation`类...

    HTML5 SVG Drawing Animation

    学习HTML5 SVG Drawing Animation,你需要掌握SVG的基本语法,了解如何创建和操作SVG元素,理解CSS3动画和JavaScript动画原理,以及熟悉相关的库和工具。通过实践,你可以创造出各种富有创意的动态图形,提升网页的...

    Animation

    在“源码”和“工具”的标签下,我们可以理解为这篇博文可能深入解析了动画相关的源代码实现,或者是介绍了一款用于创建和管理动画的工具。通常,分析源码可以帮助开发者理解动画的工作原理,以便自定义和优化动画...

    Android 属性动画(Property Animation)

    通过深入理解和熟练使用`ValueAnimator`、`ObjectAnimator`和`AnimatorSet`,以及相关的辅助类,你可以在Android应用中实现各种复杂的动画效果。如果你在使用过程中遇到问题,可以通过提供的博客链接获取更多信息,...

    帧动画 frameanimation

    帧动画的实现原理是利用`AnimationDrawable`类,这是一个可以包含多个`Frame`的动画资源,每个`Frame`都是一个单独的图片资源。在Android的资源文件夹下,通常会创建一个`anim`目录来存放帧动画相关的XML文件,这些...

    Android代码-View中添加Animation.zip

    本压缩包"Android代码-View中添加Animation.zip"可能包含了如何在Android应用的`View`中添加这两种动画的相关代码示例。 **视图动画(View Animation)** 视图动画是Android早期版本(API Level 11及以下)中使用...

    [Android][Animation动画]

    `ViewAnimation`实际上是对`Animation`类的封装,它主要处理与视图相关的动画。`ViewFlipper`、`ViewSwitcher`和`Animator`等类是`ViewAnimation`的一部分,它们简化了在视图之间切换或添加过渡动画的操作。比如,`...

    Animation控件应用.rar_animation控件

    - 使用`CAAnimation`类,这是MFC(Microsoft Foundation Classes)中的封装,提供了对Animation控件的访问和操作。 - 在C++代码中,可以通过`CreateControl`函数动态创建Animation控件,并通过`GetDlgItem`等函数...

    Advanced Animation and Rendering Techniques

    尽管提供的链接无法直接访问具体内容,但我们可以基于标题、描述以及标签中的信息来构建一系列相关的知识点。 ### 一、高级动画技术概述 #### 1.1 定义与分类 - **定义**:高级动画技术是指利用计算机图形学原理和...

    Android-Animation动画之Tween Animation补间动画

    1. 实例化相应的动画类,并设置相关属性。 2. 调用`setDuration()`设置动画持续时间。 3. 使用`setInterpolator()`设置动画插值器,以自定义动画速度曲线。 4. 调用视图的`startAnimation()`方法启动动画。 除了...

    animation-1.2.0.jar.zip

    JAR文件通常包含类文件、资源文件以及相关的元数据,便于开发者进行模块化开发和部署。在这个特定的动画库中,包含了实现动画逻辑的类和方法,开发者可以通过调用这些API来创建动态的视觉效果。 动画库的核心功能:...

    canvas pathmeasure animation

    【描述】:给定的描述链接指向的是一个新浪博客文章,虽然具体内容无法在这里提供,但通常这类文章会详细讲解如何利用Canvas的PathMeasure对象结合动画原理,创建出复杂的图形运动效果。例如,可以追踪路径上的某...

    Android动画源码 Animation

    在Android中,所有的动画都可以通过`Animation`类或者其子类来创建。`Animation`类提供了一些基本属性,如动画的持续时间、重复次数、是否反向播放等。开发者可以通过设置这些属性来定制动画效果。 接着,`BAnim_v7...

    android Animation动画实现loading效果

    自定义动画通常涉及继承`Animator`或`Animation`类,并重写相关方法。例如,创建一个自定义的Loading动画,可以创建一个`ValueAnimator`的子类并重写`animateValue(float fraction)`方法来控制动画过程。 四、加载...

    foundation Actionscript3.0 Animation.pdf

    《Foundation ActionScript 3.0 Animation》是一本深入讲解ActionScript 3.0动画技术的专业书籍,适合希望在Adobe Flash平台或相关AS3项目中创建动态效果和交互体验的开发者阅读。这本书结合了中英文双语版本,方便...

Global site tag (gtag.js) - Google Analytics