`
AaronGo
  • 浏览: 28844 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

Animation RotateAnimation详解

阅读更多



         fromDegress为0,则从view本来的位置绕着旋转点,旋转toDegress度,若fromDegress为90,

toDegress为180,则view瞬间跳转到以旋转90度的位置,然后再顺时针旋转90度。

 

1.RotateAnimation(float fromDegrees, float toDegrees)

默认的旋转点为view的左上角

X轴顺时针转动到fromDegrees为旋转的起始点,
X轴顺时针转动到toDegrees为旋转的起始点。
        如fromDegrees=0,toDegrees=90;为左上角顶点为旋转点。0度为起始点,90度为终点。进行旋转,旋转了90度
        如fromDegrees=60,toDegrees=90;为左上角顶点为旋转点。60度为起始点,90度为终点。进行旋转,旋转了90-60=30度

 

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

         (pivotX,pivotY)为旋转点。pivotX为距离左侧的偏移量,pivotY为距离顶部的偏移量。即为相对于View左上角(0,0)的坐标点,而不是相对于整个屏幕的左上角。
如View width=100px,height=100px
RotateAnimation(0,10,100,100);则以右下角顶点为旋转点,从原始位置顺时针旋转10度
RotateAnimation(0,90,50,50);则以View的中心点为旋转点,旋转90度

 

3.RotateAnimation(float fromDegrees, float toDegrees, int pivotXType, float pivotXValue,

int pivotYType, float pivotYValue)

        pivotXType, pivotXValue, pivotYType, pivotYValue  旋转点类型及其值。
Animation.ABSOLUTE为绝对值 其他为百分比。这个和平移动画的一样,不了解可以去那看
如RotateAnimation(0, 90, Animation.RELATIVE_TO_SELF, 0.5f, 

Animation.RELATIVE_TO_SELF, 0.5f); 按中心点旋转90度
效果和2例中的RotateAnimation(0,90,50,50);则以View的中心点为旋转点,旋转90度 。效果一样

 

RotateAnimation rotate = new RotateAnimation(0, 360,
	Animation.RELATIVE_TO_SELF, 0.5f, 
	Animation.RELATIVE_TO_SELF, 0.5f);
				
RotateAnimation rotate = new RotateAnimation(0, 360,
	Animation.RELATIVE_TO_PARENT, 0.5f, 
	Animation.RELATIVE_TO_PARENT, 0.5f);

 上面的rotate是相对于view自身来说的,所以旋转点事view的中心,下面的是相对于Parent来说的,但是起始点是view的左上角,也就是说并不是在整个parent的中心,而是在view的左上角到parent的右边界的中线和view的左上角到parent的下边界的中线的交点。

 

new RotateAnimation(0, 180, centerX,centerY);

        第一个参数表示动画的起始角度,第二个参数表示动画的结束角度,第三个表示动画的旋转中心x轴,第四个表示动画旋转中心y轴。

 

rotateAnimation.setDuration(1000 * 20);

表动画持续20s。

 

rotateAnimation.setFillAfter(true);

        ture表示动画结束后停留在动画的最后位置,false表示动画结束后回到初始位置,默认为false。

 

setFillBefore(boolean fillBefore)

        true标示动画执行后,空间将回到动画执行之前的状态

 

mView.startAnimation(rotateAnimation);

        表示在mView中启动动画。

 

setStartOffSet(long startOffSet)

        设置动画执行之前的时间

 

setRepeatCount(int repeatCount)

        设置动画重复执行的次数

  • 大小: 18.1 KB
分享到:
评论

相关推荐

    博客<Animation动画详解(九)——联合动画的代码实现>对应源码

    这篇博客《Animation动画详解(九)——联合动画的代码实现》深入探讨了如何在Android平台上创建和组合多种动画效果,以达到更为丰富的动态展示。对应的源码提供了实践这些概念的实例,这对于开发者来说是一个宝贵的...

    Animation动画详解

    本文将深入探讨“Animation动画详解”,包括透明度、位移、TweenAnimation、大小变化、补间动画和旋转等多个关键知识点。 首先,我们来了解一下透明度动画。在编程中,通常使用Alpha或Opacity属性来控制对象的透明...

    Android 动画之RotateAnimation应用详解

    Android提供了多种动画类型,其中包括AlphaAnimation(透明度动画)、ScaleAnimation(缩放动画)、TranslateAnimation(位移动画)以及我们今天要详细讲解的RotateAnimation(旋转动画)。 RotateAnimation允许你...

    Android 动画之RotateAnimation

    在Android开发中,动画是提升用户体验的...以上就是关于`Android 动画之RotateAnimation`的知识点详解。通过理解`RotateAnimation`的工作原理和使用方法,开发者可以更好地创建出丰富的视觉效果,提升应用的交互体验。

    Android编程之Animation动画详解

    2. 根据需求,创建对应的Animation对象,如AlphaAnimation、TranslateAnimation、ScaleAnimation或RotateAnimation。 3. 配置Animation对象的属性,例如持续时间、起始和结束值等。 4. 将配置好的Animation对象添加...

    Android编程实现RotateAnimation设置中心点旋转动画效果

    本文实例讲述了Android编程实现RotateAnimation设置中心点旋转动画效果。分享给大家供大家参考,具体如下: 在xml设置: &lt;?xml version=1.0 encoding=utf-8?&gt; &lt;rotate xmlns:android=...

    Android动画之渐变动画(Tween Animation)详解 (渐变、缩放、位移、旋转)

    本文将深入探讨Android的渐变动画(Tween Animation),这是Android提供的一种基本动画类型,用于创建平移、旋转、缩放和渐变效果。通过使用Tween Animation,开发者可以为应用程序的UI元素添加动态效果,使交互更加...

    Android动画效果translate、scale、alpha、rotate详解

    RotateAnimation animation = new RotateAnimation(fromDegrees, toDegrees, pivotX, pivotY); animation.setDuration(10000); view.startAnimation(animation); ``` Android 动画模式有两种:tweened animation...

    android 动画分类代码详解

    RotateAnimation ra = new RotateAnimation(0, 60, Animation.RELATIVE_TO_SELF, 0.5f, Animation.RELATIVE_TO_SELF, 0.5f); ra.setDuration(2000); view.startAnimation(ra); ``` **参数说明**: - `new ...

    AnimationSample

    《动画技术详解——以AnimationSample为例》 在计算机图形学领域,动画技术是不可或缺的一部分,它赋予了静态图像生命,让数字世界充满活力。本文将以一个名为"AnimationSample"的项目为例,深入探讨动画在实际应用...

    android资源文件详解

    Java中定义的动画类包括AlphaAnimation(透明度动画)、ScaleAnimation(缩放动画)、TranslateAnimation(平移动画)和RotateAnimation(旋转动画)。这些Java类可以直接操作视图属性,实现动画效果。 在Android...

    博客《Android动画之二:View Animation》附带源码 ViewAnimationDemo

    **Android 动画详解:深入理解View Animation** 在Android开发中,动画是提升用户体验的关键因素之一,能够使应用更加生动和吸引人。本篇将详细探讨Android中的View Animation,它是Android早期提供的动画机制,...

    Androidanimation.doc

    Tweened Animation 包括四种基本类型:AlphaAnimation(透明度渐变)、ScaleAnimation(尺寸缩放)、TranslateAnimation(位置平移)和RotateAnimation(旋转)。这些动画可以在XML文件中预先定义,也可以通过Java...

    Android开发教程之动画框架详解,第 1 部分

    RotateAnimation rotateAnim = new RotateAnimation(0, 360, Animation.RELATIVE_TO_SELF, 0.5f, Animation.RELATIVE_TO_SELF, 0.5f); rotateAnim.setDuration(2000); rotateAnim.setInterpolator(new ...

    android动画制作详解

    Android中的`Animation`类是补间动画的基础,包括`TranslateAnimation`(平移)、`RotateAnimation`(旋转)、`ScaleAnimation`(缩放)和`AlphaAnimation`(透明度变化)。 3. **属性动画(Property Animation)**...

    【Android 基础】详解Animation 动画介绍和实现

    本文将深入探讨Android的基础Animation动画,包括动画类型、动画模式、如何在XML文件中定义动画以及具体的动画效果解析。 1. Animation动画类型: Android的animation系统主要包括四种基本类型,它们可以分为两类...

    android tween动画代码示例及详解

    RotateAnimation rotateAnim = new RotateAnimation(0, 360, Animation.RELATIVE_TO_SELF, 0.5f, Animation.RELATIVE_TO_SELF, 0.5f); rotateAnim.setDuration(2000); view.startAnimation(rotateAnim); ``` 在实际...

Global site tag (gtag.js) - Google Analytics