iis服务器助手广告广告
返回顶部
首页 > 资讯 > 移动开发 >Android实现动画效果详解
  • 769
分享到

Android实现动画效果详解

动画Android 2022-06-06 09:06:52 769人浏览 薄情痞子
摘要

目前Android平台提供了两类动画一类是Tween动画,第二类就是 Frame动画,具体内容介绍请看下文: 一类是Tween动画,就是对场景里的对象不断的进行图像变化来产生动

目前Android平台提供了两类动画一类是Tween动画,第二类就是 Frame动画,具体内容介绍请看下文:

一类是Tween动画,就是对场景里的对象不断的进行图像变化来产生动画效果(旋转、平移、放缩和渐变)。

第二类就是 Frame动画,即顺序的播放事先做好的图像,与gif图片原理类似。

实现动画有两种方式:一种使用XML文件(文件放在res/anim),一种直接代码搞定

 1、透明度控制动画效果alpha


<!--
透明度控制动画效果alpha
 浮点型值:
 fromAlpha 动画起始时透明度
 toAlpha 动画结束时透明度
 说明:0.0 完全透明
 1.0 完全不透明
 以上值取0.0-1.0之间的 float数据类型的数字
duration 为动画持续时间
长整型:
说明:时间以毫秒为单位
-->
<alpha
 android:duration="3000"
 android:fromAlpha="0.0"
 android:toAlpha="1.0" />

代码方式:

代码如下:
Animation animationAlpha = new AlphaAnimation(0.0f, 1.0f);
animationAlpha.setDuration(3000);
ivAnim.startAnimation(animationAlpha);
 

2、rotate旋转动画


<!--
rotate旋转动画效果
属性:interpolator 指定一个动画的插入器
有三种动画插入器:
 accelerate_decelerate_interpolator 加速-减速 动画插入器
 accelerate_interpolator 加速-动画插入器
 decelerate_interpolator 减速-动画插入器
 其他的属于特定的动画效果
浮点整型值:
 fromDegrees 为动画起始时物件的角度
 toDegrees 为动画起始时物件旋转的角度 可以大于360度
说明:当角度为负数——表示逆时针旋转
  当角度为正数——表示顺时针旋转
  (负数from——to正数:顺时针旋转
  负数from——to负数:逆时针旋转
  正数from——to正数:顺时针旋转)
pivotX 为动画相对于物件的X坐标的开始位置
pivotY 为动画相对于物件的Y坐标的开始位置
说明:以上两个属性值 从0%——100%中取值
 50%为物件的X或Y方向坐标上的中点位置
长整型类型:
duration 为动画持续时间
说明:时间以毫秒为单位
 -->
<rotate
 android:duration="3000"
 android:fromDegrees="0"
 android:interpolator="@android:anim/accelerate_decelerate_interpolator"
 android:pivotX="50%"
 android:pivotY="50%"
 android:toDegrees="+350" />

代码如下:
Animation animationRotate = new RotateAnimation(0.0f, +350.0f, Animation.RELATIVE_TO_SELF, 0.5f, Animation.RELATIVE_TO_SELF, 0.5f);
animationRotate.setDuration(3000);
ivAnim.startAnimation(animationRotate);

3、尺寸伸缩动画效果 scale


<!--
尺寸伸缩动画效果 scale
属性:interpolator 指定一个动画的插入器
  有三种动画插入器:
  accelerate_decelerate_interpolator 加速-减速 动画插入器
  accelerate_interpolator 加速-动画插入器
  decelerate_interpolator 减速-动画插入器
  其他的属于特定的动画效果
浮点型值:
 fromXScale 动画起始时 X坐标上的伸缩尺寸
 toXScale 动画结束时 X坐标上的伸缩尺寸
 fromYScale 动画起始 Y时坐标上的伸缩尺寸
 toYScale 动画结束时 Y坐标上的尺寸
 说明:以上四种属性值
 0.0表示收缩到没有
 1.0表示正常无伸缩
  值小于1.0表示收缩
  值大于1.0表示放大
 pivotX 动画相对于物件的X坐标的开始位置
 pivotY 动画相对于武将的Y坐标的开始位置
 说明:以上两个属性值 从0%-100%中取值
 长整型:
 duration 动画持续时间
 说明:时间以毫秒为单位
 布尔型值:
 fillAfter 当设置为true,该动画转化在动画结束后被应用
-->
<scale
 android:duration="700"
 android:fillAfter="false"
 android:fromXScale="0.0"
 android:fromYScale="0.0"
 android:interpolator="@android:anim/accelerate_decelerate_interpolator"
 android:pivotX="50%"
 android:pivotY="50%"
 android:toXScale="1.4"
 android:toYScale="1.4" />

代码方式:


Animation animationScale = new ScaleAnimation(0.0f, 1.4f, 0.0f, 1.4f, Animation.RELATIVE_TO_SELF, 0.5f, Animation.RELATIVE_TO_SELF, 0.5f);
animationScale.setDuration(3000);
ivAnim.startAnimation(animationScale);

4、translate 位置转移动画效果


<!--
translate 位置转移动画效果
 整型值:
 fromXDelta 动画起始时 X坐标上的位置 
 toXDelta 动画结束时 X坐标上的位置
 fromYDelta 动画起始时 Y坐标上的位置
 toYDlta 动画结束时 Y坐标上的位置
 注意:没有指定fromXTra toXType fromYType toYType 时候,默认是以自己为相对参照物
 长整型:duration 为动画持续时间
    时间以毫秒为单位
-->
<translate
 android:duration="2000"
 android:fromXDelta="30"
 android:fromYDelta="30"
 android:toXDelta="-80"
 android:toYDelta="300" />

代码如下:
Animation animationTranslate = new TranslateAnimation(30.0f, -80.0f, 30.0f, 300.0f);
animationTranslate.setDuration(3000);
ivAnim.startAnimation(animationTranslate);
 

xml文件方式使用的话就两行代码

代码如下:
Animation anim = AnimationUtils.loadAnimation(activity, R.anim.anim_xxx);
ivAnim.startAnimation(anim);
 

5、frame帧动画(文件放在res/drawable)


<!--
 根标签为animation-list,其中oneshot代表着是否只展示一遍,设置为false会不停的循环播放动画 
 根标签下,通过item标签对动画中的每一个图片进行声明 
 android:duration 表示展示所用的该图片的时间长度 
-->
<animation-list xmlns:android="Http://schemas.android.com/apk/res/android"
 android:oneshot="true" >
 <item
 android:drawable="@drawable/icon_frame1"
 android:duration="200">
 </item>
 <item
 android:drawable="@drawable/icon_frame2"
 android:duration="200">
 </item>
 <item
 android:drawable="@drawable/icon_frame3"
 android:duration="200">
 </item>
 <item
 android:drawable="@drawable/icon_frame4"
 android:duration="200">
 </item>
 <item
 android:drawable="@drawable/icon_frame5"
 android:duration="200">
 </item>
 <item
 android:drawable="@drawable/icon_frame6"
 android:duration="50">
 </item>
</animation-list>
xml帧动画使用代码:

ivFrame = (ImageView) findViewById(R.id.iv_frame_image);
ivFrame.setImageResource(R.drawable.anim_frame); 
animation = (AnimationDrawable) ivFrame.getDrawable();
animation.setOneShot(false);//循环
animation.start();

以上就是针对Android实现动画效果的全部内容,希望大家能够喜欢。

您可能感兴趣的文章:Android编程之Animation动画详解Android编程中Tween动画和Frame动画实例分析Android编程之简单逐帧动画Frame的实现方法图文详解Android属性动画Android编程实现仿心跳动画效果的方法Android编程之界面跳动提示动画效果实现方法Android编程根据系列图片绘制动画实例总结Android中显示GIF动画的实现代码Android动画之渐变动画(Tween Animation)详解 (渐变、缩放、位移、旋转)


--结束END--

本文标题: Android实现动画效果详解

本文链接: https://www.lsjlt.com/news/26611.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Android自定义View实现动画效果详解
    目录帧动画补间动画属性动画帧动画 帧动画就是给定一个完整动画的所有关键帧,由大脑想象中间的变化过程的一种动画。 <xml version="1.0" encoding="utf...
    99+
    2023-02-02
    Android自定义View实现动画 Android 动画 Android自定义View
  • AndroidFlutter实现3D动画效果示例详解
    目录前言AnimatedWidget 简介3D 旋转动画的实现总结前言 上一篇我们介绍了 Animation 和 AnimationController...
    99+
    2024-04-02
  • JetpackCompose实现列表和动画效果详解
    目录创建一个列表消息卡片可交互的动画效果创建一个列表消息卡片 到目前为止,我们只有一个消息的卡片,看上去有点单调,所以让我们来改善它,让它拥有多条信息。我们需要创建一个能够显示多条消...
    99+
    2024-04-02
  • JetpackCompose实现动画效果的方法详解
    目录概述低级别动画 APIanimate*AsState使用 Animatable 实现颜色变化效果使用 updateTransition 实现颜色和圆角动画remembe...
    99+
    2024-04-02
  • Android Flutter如何实现3D动画效果
    这篇文章主要讲解了“Android Flutter如何实现3D动画效果”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Android Flutter如何实现3D动画效果”吧...
    99+
    2023-06-29
  • Android实现颜色渐变动画效果
    目录前言一、Android中插值器TypeEvaluator二、案例效果实现1.利用Android自带的颜色插值器ArgbEvaluator2.看看Android自带颜色插值器Arg...
    99+
    2024-04-02
  • android怎么实现加载动画效果
    Android中实现加载动画效果可以通过以下几种方式:1. 使用ProgressBar:ProgressBar是Android系统提...
    99+
    2023-08-08
    android
  • Android怎么实现点赞动画效果
    今天小编给大家分享一下Android怎么实现点赞动画效果的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。一、前言对接下来功能实...
    99+
    2023-06-29
  • AndroidFlutter实现GIF动画效果的方法详解
    目录前言交错动画机制代码实现Interval 介绍总结前言 我们之前介绍了不少有关动画的篇章。前面介绍的动画都是只有一个动画效果,那如果我们想对某个组件实现一组动效,比如下面的效果,...
    99+
    2024-04-02
  • Flutter实现不同缩放动画效果详解
    目录需求背景可缩放组件介绍ScaleTransitionSizeTransitionAnimatedSizeAnimatedBuilder小结需求背景 组件缩放可以向着一个方向进行缩...
    99+
    2024-04-02
  • WPF实现动画效果
    学习平台 微软开发者博客:https://devblogs.microsoft.com/WT.mc_id=DT-MVP-5003986微软文档与学习:https://docs.mic...
    99+
    2024-04-02
  • Android实现手势滑动和简单动画效果
    一、手势滑动Activity都具有响应触摸事件,也就是说只要触摸Activity,他都会回调一个onTouchEvent()方法。但是在这个方法里无法处理事件,需要配合使用手势识别器(GestureDetector)中的方法onTouchE...
    99+
    2023-05-31
    android 手势滑动 roi
  • vue实现书本翻页动画效果实例详解
    偶然兴起,想要用vue来做一个书本的组件,有了这个想法后边开始动手,先简单地实现基本的效果,为后续封装为组件进行准备工作,实现该效果的要使用vue + css + JavaScri...
    99+
    2024-04-02
  • Android怎么实现颜色渐变动画效果
    本篇内容主要讲解“Android怎么实现颜色渐变动画效果”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Android怎么实现颜色渐变动画效果”吧!效果图:一、Android中插值器TypeEva...
    99+
    2023-06-30
  • android颜色渐变动画效果怎么实现
    在Android中,你可以使用ValueAnimator和ArgbEvaluator类来实现颜色渐变动画效果。下面是一个简单的示例代...
    99+
    2023-08-18
    android
  • Android怎么实现加载视差动画效果
    本篇内容主要讲解“Android怎么实现加载视差动画效果”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Android怎么实现加载视差动画效果”吧!基础知识继 Android实现旋转动画...
    99+
    2023-06-20
  • Android Flutter怎么实现仿闲鱼动画效果
    这篇文章主要讲解了“Android Flutter怎么实现仿闲鱼动画效果”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Android Flutter怎么实现仿闲鱼动画效果...
    99+
    2023-07-05
  • javascript实现缓动动画效果
    本文实例为大家分享了javascript实现缓动动画效果的具体代码,供大家参考,具体内容如下 实现思路 1、主要使用setInterval定时函数 2、给需要动画的元素添加绝对定位和...
    99+
    2024-04-02
  • AndroidFlutter实现五种酷炫文字动画效果详解
    目录前言波浪涌动效果波浪线跳动文字组彩虹动效滚动广告牌效果打字效果其他效果自定义效果总结前言 偶然逛国外博客,看到了一个介绍文字动画的库,进入 pub 一看,立马就爱上这个动画库了,...
    99+
    2024-04-02
  • Android基于reclyview实现列表回弹动画效果
    reclyview实现列表回弹动画效果,供大家参考,具体内容如下 1.reclyview列表布局文件 <com.example.demo1.ReboundLayout     ...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作