Frame动画像gif画画,通过一些静态的图片,以实现动画效果。

Android sdk该AnimationDrawable就是专门针对Frame动画,当然Frame动画也可在java代码或者xml中写,可是提倡大家还是在xml中写,先上个效果图。

<span style="font-size:18px;"><?xml version="1.0" encoding="utf-8"?>
<animation-list xmlns:android="http://schemas.android.com/apk/res/android"
android:oneshot="false" > <item
android:drawable="@drawable/market_loading_01"
android:duration="100"/>
<item
android:drawable="@drawable/market_loading_02"
android:duration="100"/>
<item
android:drawable="@drawable/market_loading_03"
android:duration="100"/>
<item
android:drawable="@drawable/market_loading_04"
android:duration="100"/>
<item
android:drawable="@drawable/market_loading_05"
android:duration="100"/>
<item
android:drawable="@drawable/market_loading_06"
android:duration="100"/>
<item
android:drawable="@drawable/market_loading_07"
android:duration="100"/>
<item
android:drawable="@drawable/market_loading_08"
android:duration="100"/>
<item
android:drawable="@drawable/market_loading_09"
android:duration="100"/>
<item
android:drawable="@drawable/market_loading_10"
android:duration="100"/>
<item
android:drawable="@drawable/market_loading_11"
android:duration="100"/>
<item
android:drawable="@drawable/market_loading_12"
android:duration="100"/> </animation-list></span>

Frame动画在xml中的根节点是<animation-list>当中的oneshot=false是循环播放,为true的话则播放到最后一张图片就会停止播放,在java中调用

ImageView imageView;
AnimationDrawable animationDrawable; protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
imageView = (ImageView) findViewById(R.id.image);
imageView.setBackgroundResource(R.drawable.drawable_progress);
animationDrawable = (AnimationDrawable) imageView.getBackground();
animationDrawable.start();

由于Frame 动画是有一堆静态图构成的所以,能够当成background。

用java代码写的话

		  AnimationDrawable animationDrawable2 = new AnimationDrawable();
Drawable drawable = getResources().getDrawable(R.drawable.fengjing_1);
Drawable drawable2 = getResources().getDrawable(R.drawable.fengjing_2);
Drawable drawable3 = getResources().getDrawable(R.drawable.fengjing_3);
animationDrawable2.addFrame(drawable, 1000);
animationDrawable2.addFrame(drawable2, 1000);
animationDrawable2.addFrame(drawable3, 1000);
animationDrawable2.setOneShot(false);
imageView.setBackgroundDrawable(animationDrawable2);
animationDrawable2.start();

恩。。就是这样了,Frame 动画了解到这已经差点儿相同了。

项目源代码

版权声明:本文博客原创文章,博客,未经同意,不得转载。

Android 动画具体解释Frame动画 (Drawable Animation)的更多相关文章

  1. Android动画主要包含补间动画(Tween)View Animation、帧动画(Frame)Drawable Animation、以及属性动画Property Animation

    程序运行效果图: Android动画主要包含补间动画(Tween)View Animation.帧动画(Frame)Drawable Animation.以及属性动画Property Animatio ...

  2. Android图文具体解释属性动画

    Android中的动画分为视图动画(View Animation).属性动画(Property Animation)以及Drawable动画.从Android 3.0(API Level 11)開始. ...

  3. Android 动画具体解释View动画

    为了让用户更舒适的在某些情况下,利用动画是那么非常有必要的.Android在3.0一旦支持两种动画Tween动漫Frame动画.Tween动画支持简单的平移,缩放,旋转,渐变.Frame动画就像Gif ...

  4. android动画具体解释四 创建动画

    使用ValueAnimator进行动画 通过指定一些int, float或color等类型的值的集合.ValueAnimator 使你能够对这些类型的值进行动画.你需通过调用ValueAnimator ...

  5. android动画具体解释二 属性动画原理

    property动画是一个强大的框架,它差点儿能使你动画不论什么东西. 你能够定义一个动画来改变对象的不论什么属性,不论其是否被绘制于屏幕之上. 一个属性动画在一定时间内多次改变一个属性(对象的一个字 ...

  6. 动画_ _ Android应用开发之所有动画使用详解

    转载: http://blog.csdn.net/yanbober/article/details/46481171 题外话:有段时间没有更新博客了,这篇文章也是之前写了一半一直放在草稿箱,今天抽空把 ...

  7. Android应用开发之所有动画使用详解

    题外话:有段时间没有更新博客了,这篇文章也是之前写了一半一直放在草稿箱,今天抽空把剩余的补上的.消失的这段时间真的好忙,节奏一下子有些适应不过来,早晨七点四十就得醒来,晚上九点四十才准备下班,好像最近 ...

  8. Android animation学习笔记之view/drawable animation

    前一章中总结了android animation中property animation的知识和用法,这一章总结View animation和Drawable animation的有关知识: View ...

  9. Android动画总结#补间动画(Tween Animation/View Animation) #帧动画(Frame Animation/Drawable Animation)#属性动画(PropertyAnimation)

    1.共有三种动画,英文名字多种叫法如下 第一种动画:补间动画(Tween Animation/View Animation) 四个:RotateAnimation旋转. AlphaAnimation透 ...

随机推荐

  1. node-sass的安装问题

    1.认识node-sass 我觉得要解决node-sass的问题,你首先至少要简单的了解node-sass是个什么东西?为什么要安装它? 对于在项目中使用sass的语法的时候,需要通过sass-loa ...

  2. HDU4268 Alice and Bob 【贪心】

    Alice and Bob Time Limit: 10000/5000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) T ...

  3. How to use ftp in a shell script

    转载How to use ftp in a shell script How to use ftp in a shell script Bruce EdigerBruce Ediger's home ...

  4. [Angular] Enable router tracing

    To enable router tracing is really simple: RouterModule.forRoot(ROUTES, { enableTracing: true }) Whe ...

  5. Erlang基础知识集锦

    http://wenku.baidu.com/link?url=or-8mkUYUM0uVeqCYESGe93YIlh2IDLP7lFOwRlwr8Syf3PeHbwJC5DPCErs4NFrb1p4 ...

  6. node转发formdata

    router.post('/keUpload', checkLogin, setAccessControlAllow, (req, res, next) => { const busboy = ...

  7. apt-get install安装软件时出现依赖错误解决方式

    在使用apt-get install安装软件时,常常会遇到如上图所看到的错误.该错误的意思为缺少依赖软件.解决方式为: aptitude install golang-go

  8. python 单向循环列表

    # -*- coding: utf-8 -*- # @author: Tele # @Time : 2019/04/23 下午 6:54 # 单向循环列表 # 单向循环列表与单向列表的不同之处在于最后 ...

  9. ScrollView嵌套ListView问题

    ScrollView嵌套ListView问题 导致Listview  第一主角 它是 Listview 的item 显示器的数量是不完全. 这是因为item 中间 Textview 话是太多的问题 一 ...

  10. 【BZOJ 1018】 [SHOI2008]堵塞的交通traffic

    [题目链接]:http://www.lydsy.com/JudgeOnline/problem.php?id=1018 [题意] [题解] 按照这里的题解写的http://blog.csdn.net/ ...