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

动画类型

Android的animation由四种类型组成

XML中

alpha 渐变透明度动画效果
scale 渐变尺寸伸缩动画效果
translate 画面转换位置移动动画效果
rotate 画面转移旋转动画效果

JavaCode中

AlphaAnimation 渐变透明度动画效果
ScaleAnimation 渐变尺寸伸缩动画效果
TranslateAnimation 画面转换位置移动动画效果
RotateAnimation 画面转移旋转动画效果

Android动画模式

Animation主要有两种动画模式:

一种是tweened animation(渐变动画)

XML中 JavaCode
alpha AlphaAnimation
scale ScaleAnimation

一种是frame by frame(画面转换动画)

XML中 JavaCode
translate TranslateAnimation
rotate RotateAnimation

Android动画解析

alpha xml 淡出效果

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<alpha
    android:fromAlpha="1.0"
    android:toAlpha="0.0"
    android:duration="500"  />
</set>
<!--
    fromAlpha:开始时透明度
    toAlpha: 结束时透明度
    duration:动画持续时间 --> 

alpha xml 淡入效果

    <?xml version="1.0" encoding="utf-8"?>
    <set xmlns:android="http://schemas.android.com/apk/res/android">
    <alpha
        android:fromAlpha="0.0"
        android:toAlpha="1.0"
        android:duration="500"  />
    </set>
    <!--
        fromAlpha:开始时透明度
        toAlpha: 结束时透明度
        duration:动画持续时间 -->  

rotate.xml 旋转效果:

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<rotate
    android:interpolator="@android:anim/accelerate_decelerate_interpolator"
    android:fromDegrees="300"
    android:toDegrees="-360"
    android:pivotX="10%"
    android:pivotY="100%"
    android:duration="10000" />
</set>
<!--
  fromDegrees   动画开始时的角度
  toDegrees     动画结束时物件的旋转角度,正代表顺时针
  pivotX    属性为动画相对于物件的X坐标的开始位置
  pivotY    属性为动画相对于物件的Y坐标的开始位置    --> 

scale.xml 缩放效果:

    <?xml version="1.0" encoding="utf-8"?>
    <set xmlns:android="http://schemas.android.com/apk/res/android">
    <scale
        android:interpolator= "@android:anim/decelerate_interpolator"
        android:fromXScale="0.0"
        android:toXScale="1.5"
        android:fromYScale="0.0"
        android:toYScale="1.5"
        android:pivotX="50%"
        android:pivotY="50%"
        android:startOffset="0"
        android:duration="10000"
        android:repeatCount="1"
        android:repeatMode="reverse"  />
    </set>   

    <!--
    fromXDelta,fromYDelta       起始时X,Y座标,屏幕右下角的座标是X:320,Y:480
    toXDelta, toYDelta      动画结束时X,Y的座标 --> <!--
    interpolator                    指定动画插入器
    常见的有加速减速插入器         accelerate_decelerate_interpolator
    加速插入器               accelerate_interpolator,
    减速插入器               decelerate_interpolator。
    fromXScale,fromYScale,         动画开始前X,Y的缩放,0.0为不显示,  1.0为正常大小
    toXScale,toYScale,          动画最终缩放的倍数, 1.0为正常大小,大于1.0放大
    pivotX,  pivotY         动画起始位置,相对于屏幕的百分比,两个都为50%表示动画从屏幕中间开始
    startOffset,                动画多次执行的间隔时间,如果只执行一次,执行前会暂停这段时间,
                        单位毫秒 duration,一次动画效果消耗的时间,单位毫秒,
                        值越小动画速度越快 repeatCount,动画重复的计数,动画将会执行该值+1次
                        repeatMode,动画重复的模式,reverse为反向,当第偶次执行时,动画方向会相反。
                        restart为重新执行,方向不变 -->  

translate.xml 移动效果:

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<translate
    android:fromXDelta="320"
    android:toXDelta="0"
    android:fromYDelta="480"
    android:toYDelta="0"
    android:duration="10000" />
</set>
<!--
fromXDelta,fromYDelta   起始时X,Y座标,屏幕右下角的座标是X:320,Y:480
toXDelta, toYDelta     动画结束时X,Y的座标 --> 
时间: 2025-01-04 16:32:03

XMLAndroid动画效果translate、scale、alpha、rotate详解的相关文章

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

动画类型 Android的animation由四种类型组成 XML中 alpha 渐变透明度动画效果 scale 渐变尺寸伸缩动画效果 translate 画面转换位置移动动画效果 rotate 画面转移旋转动画效果 JavaCode中 AlphaAnimation 渐变透明度动画效果 ScaleAnimation 渐变尺寸伸缩动画效果 TranslateAnimation 画面转换位置移动动画效果 RotateAnimation 画面转移旋转动画效果 Android动画模式 Animation

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

动画类型 Android的animation由四种类型组成 XML中 alpha 渐变透明度动画效果 scale 渐变尺寸伸缩动画效果 translate 画面转换位置移动动画效果 rotate 画面转移旋转动画效果 JavaCode中 AlphaAnimation 渐变透明度动画效果 ScaleAnimation 渐变尺寸伸缩动画效果 TranslateAnimation 画面转换位置移动动画效果 RotateAnimation 画面转移旋转动画效果 Android动画模式 Animation

Android编程之Fragment动画加载方法源码详解

上次谈到了Fragment动画加载的异常问题,今天再聊聊它的动画加载loadAnimation的实现源代码: Animation loadAnimation(Fragment fragment, int transit, boolean enter, int transitionStyle) { 接下来具体看一下里面的源码部分,我将一部分一部分的讲解,首先是: Animation animObj = fragment.onCreateAnimation(transit, enter, fragm

JQuery动画animate的stop方法使用详解

JQuery动画animate的stop方法使用详解 animate语法: 复制代码 代码如下: $(selector).animate(styles,speed,easing,callback) 复制代码 代码如下: <!doctype html> <html> <head> <meta charset="UTF-8"> <title>Testing</title> <link rel="styl

Android上几种Animation和多个动画同时播放以ScaleAnimation应用详解

在API Demo的View->Animation下可以找到四个Animation的Demo,第一个3D Translate比较复杂,最后再讲,先讲第2个Interpolator.该Activity对应的是view包内的Animation3.java,和layout的animation_3.xml. 界面的布局不加解释了,就一个Spinner和一个TextView.不是本文内容. 主要解释下几个重点语句. 初始化Animation,从类的名字可以看出是一个变换View的位置的动画,参数起点横坐标

jQuery动画高级用法(上)——详解animation中的.queue()函数

如果你拿着一个疑问去找专业人士寻找答案,那么你的一个疑问会变成三个,因为他会用另外两个令你更加一头雾水的名词来解释你的这个疑问. 我想这是大多数,包括我在内,IT人在学习过程中碰到的最大问题.当你有一段代码或是一个概念不是很清楚,百度也好,Google也好,在论坛发问也好,给出的答案往往又会夹杂着更多你不懂得概念和令你头疼的代码. 我亦是吃了同样的亏,痛定思痛,决定对animate方面做一些总结,希望能给大家一些启发和帮助 从一个实际应用谈起 今天不谈animate().fadeIn().fad

jQuery动画高级用法(上)——详解animation中的.queue()动画队列插队函数

决定对animate方面做一些总结,希望能给大家一些启发和帮助 从一个实际应用谈起 今天不谈animate().fadeIn().fadeOut().slideUp().show().hide()诸如此类的具体动画函 数,而谈谈几个并不常用的,甚至说是有点风马牛不相及,但又十分十分重要的动画函数queue(),dequeue(),和stop(). 先让我们从一个简单的例子谈,假设有一个购物功能,在结账之前,用户仍然可以把购物车里的删除至备选栏中(也许因为用户的资金不足,可以存储至下次购买) 好,

&lt;转&gt;jQuery动画高级用法(上)——详解animation中的.queue()函数

如果你拿着一个疑问去找专业人士寻找答案,那么你的一个疑问会变成三个,因为他会用另外两个令你更加一头雾水的名词来解释你的这个疑问. 我想这是大多数,包括我在内,IT人在学习过程中碰到的最大问题.当你有一段代码或是一个概念不是很清楚,百度也好,Google也好,在论坛发问也好,给出的答案往往又会夹杂着更多你不懂得概念和令你头疼的代码. 我亦是吃了同样的亏,痛定思痛,决定对animate方面做一些总结,希望能给大家一些启发和帮助 从一个实际应用谈起 今天不谈animate().fadeIn().fad

android canvas中rotate()和translate()两个方法详解

rotate()和translate() 1.看到这个题目的时候,有人会觉得这不就是一个对画布的旋转和平移的嘛,但是其中的细节的地方还是需要深究一下的. 例如:有个需求将TextView的文字竖直显示. 首先想到的方法就是将画布旋转90度,代码如下: 1 public class RotateTextView extends TextView { 2 public RotateTextView(Context context) { 3 super(context); 4 } 5 6 public