Android基础知识之frame动画效果

上一篇我们说了Android中的tween动画,这一篇我们说说frame动画,frame动画主要是实现了一种类似于gif动画的效果,就是多张图按预先设定好的时间依次连续显示。
新建一个android项目,名字叫做frameTest,在res文件夹下新建一个文件夹叫做anim,我们的frame动画的xml文件就放在这里。
在anim中新建一个frame.xml文件,内容如下:

<?xml version="1.0" encoding="utf-8"?> <animation-list xmlns:android="http://schemas.android.com/apk/res/android" android:oneshot="false"><!-- true表示只播放一次,false表示无限循环播放 --> <item android:drawable="@drawable/girl_1" android:duration="100" /> <item android:drawable="@drawable/girl_2" android:duration="100" /> <item android:drawable="@drawable/girl_3" android:duration="100" /> <item android:drawable="@drawable/girl_4" android:duration="100" /> <item android:drawable="@drawable/girl_5" android:duration="100" /> <item android:drawable="@drawable/girl_6" android:duration="300" /> <item android:drawable="@drawable/girl_7" android:duration="400" /> <item android:drawable="@drawable/girl_8" android:duration="300" /> <item android:drawable="@drawable/girl_9" android:duration="100" /> <item android:drawable="@drawable/girl_10" android:duration="100" /> <item android:drawable="@drawable/girl_11" android:duration="100" /> </animation-list>

这里是11图片,前面的android:oneshot属性表示该动画执行的次数,false表示该动画反复循环播放,true则表示该动画值播放一次,duration表示每张图片显示的时间,以毫秒计。

然后看看MainActivity中的代码:

public class MainActivity extends Activity { private ImageView iv; private AnimationDrawable ad; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); iv = (ImageView) this.findViewById(R.id.iv); // iv.setBackgroundResource(R.anim.frame); // ad = (AnimationDrawable) iv.getBackground(); //上面两句,可以用下面两句代替,效果是一样的 iv.setImageResource(R.anim.frame); ad = (AnimationDrawable) iv.getDrawable(); } public void start(View v){ //如果ad正在运行,就先让它停止下来 if(ad.isRunning()) ad.stop(); ad.start(); } }

先拿到一个ImageView,然后把frame动画设置为它的背景,最后拿到这个图片的背景并强转为AnimationDrawable,当点击该图片时,如果动画已经在运行,就让它先停止,再重新运行,否则直接运行即可。

原文链接:http://blog.csdn.net/u012702547/article/details/45716757

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

时间: 2024-10-02 11:25:18

Android基础知识之frame动画效果的相关文章

Android基础知识之frame动画效果_Android

上一篇我们说了Android中的tween动画,这一篇我们说说frame动画,frame动画主要是实现了一种类似于gif动画的效果,就是多张图按预先设定好的时间依次连续显示. 新建一个android项目,名字叫做frameTest,在res文件夹下新建一个文件夹叫做anim,我们的frame动画的xml文件就放在这里. 在anim中新建一个frame.xml文件,内容如下: <?xml version="1.0" encoding="utf-8"?> &

Android基础知识之tween动画效果_Android

Android中一共提供了两种动画,其一便是tween动画,tween动画通过对view的内容进行一系列的图像变换(包括平移,缩放,旋转,改变透明度)来实现动画效果,动画效果的定义可以使用xml,也可以使用编码来实现. 下面我们逐一查看tween能够实现的动画效果. 先看看工程的整体结构吧: 我们要实现的效果图如图 点击按钮则执行相应的动画操作. 布局文件activity_main.xml <LinearLayout xmlns:android="http://schemas.androi

Android实现定制返回按钮动画效果的方法_Android

今天我们来讲一讲Andorid中如何定制返回按钮的动画效果.我将结合实际应用来阐述如何使用. 首先来看一个效果截图,有一个搜索按钮在一个页面的顶部: 我之前实现的方式是和百度/Google首页搜索的效果一样的,类似web开发中的ajax请求,结果直接在当前页面显示出来(下拉效果).后来参考了众多APP之后发现都是进入到一个新的页面,所以我也就改过来试试..废话说多了.. 那我们点击了搜索框之后呢,会进入到一个新的activity,这里的动画效果很简单,直接使用overridePendingTra

【Xamarin开发 Android 系列 4】 Android 基础知识

原文:[Xamarin开发 Android 系列 4] Android 基础知识 什么是Android?   Android一词的本义指"机器人",同时也是Google于2007年11月5日宣布的基于Linux平台的开源手机操作系统的名称,该平台由操作系统.中间件.用户界面和应用软件组成,而且不存在任何以往阻碍移动产业创新的专有权障碍,号称是首个为移动终端打造的真正开放和完整的移动软件. Android是一种以Linux为基础的开放源代码操作系统,主要使用于便携设备.目前尚未有统一中文

我的Android进阶之旅------&amp;gt;Android利用温度传感器实现带动画效果的电子温度计

     要想实现带动画效果的电子温度计,需要以下几个知识点: 1.温度传感器相关知识. 2.ScaleAnimation动画相关知识,来进行水印刻度的缩放效果. 3.android:layout_weight属性的合理运用,关于android:layout_weight属性的讲解,可以参考:<我的Android进阶之旅------>关于android:layout_weight属性的一个面试题> 地址为:http://blog.csdn.net/ouyang_peng/article/

Android编程实现仿心跳动画效果的方法_Android

本文实例讲述了Android编程实现仿心跳动画效果的方法.分享给大家供大家参考,具体如下: // 按钮模拟心脏跳动 private void playHeartbeatAnimation() { AnimationSet animationSet = new AnimationSet(true); animationSet.addAnimation(new ScaleAnimation(1.0f, 1.8f, 1.0f, 1.8f, Animation.RELATIVE_TO_SELF, 0.5

《OpenGL ES 3.x游戏开发(上卷)》一第2章 游戏开发相关的 Android基础知识

第2章 游戏开发相关的 Android基础知识 OpenGL ES 3.x游戏开发(上卷)虽然本书主要是介绍OpenGL ES 3.0 3D应用及游戏开发的,但由于很多3D游戏应用中还需要用到目标平台的一些其他应用开发方面的知识,而本书3D基础知识部分主要是借助于Android平台来介绍OpenGL ES 3.0 3D应用及游戏开发的.故本章将向读者简要介绍一些在Android游戏开发中必备的一些基础知识,如音效.文件的读取.游戏信息的存储.Socket网络.蓝牙网络等. 提示 由于介绍Andr

Android基础知识之单点触摸_Android

相对于多点触摸,单点触摸还是很简单的. 新建一个工程,先看看布局文件: <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="

Android编程实现仿心跳动画效果的方法

本文实例讲述了Android编程实现仿心跳动画效果的方法.分享给大家供大家参考,具体如下: // 按钮模拟心脏跳动 private void playHeartbeatAnimation() { AnimationSet animationSet = new AnimationSet(true); animationSet.addAnimation(new ScaleAnimation(1.0f, 1.8f, 1.0f, 1.8f, Animation.RELATIVE_TO_SELF, 0.5