Android 基础的三种动画 帧动画、补间动画、属性动画。

帧动画 drawable   animation

通过xml文件声明一个帧动画

①在res目录下创建一个drawable目录 把用到的图片资源放到这个目录下 并且创建一个xml文件

根元素  animation-list可以设置一个属性 oneshot如果设置为true 动画只执行一次 执行之后停在最后一帧

animation-list 子元素item

<?xml version="1.0" encoding="utf-8"?>
2.  <animation-list xmlns:android="http://schemas.android.com/apk/res/android"
3.      android:oneshot="true" >     //踹人的动画
4.       <item android:drawable="@drawable/girl_1" android:duration="200" />
5.      <item android:drawable="@drawable/girl_2" android:duration="200" />
6.      <item android:drawable="@drawable/girl_3" android:duration="200" />
7.       <item android:drawable="@drawable/girl_4" android:duration="400" />
8.      <item android:drawable="@drawable/girl_5" android:duration="400" />
9.      <item android:drawable="@drawable/girl_6" android:duration="400" />
10.     <item android:drawable="@drawable/girl_4" android:duration="400" />
11.    <item android:drawable="@drawable/girl_5" android:duration="400" />
12.    <item android:drawable="@drawable/girl_6" android:duration="400" />
13.     <item android:drawable="@drawable/girl_4" android:duration="400" />
14.    <item android:drawable="@drawable/girl_5" android:duration="400" />
15.    <item android:drawable="@drawable/girl_6" android:duration="400" />
16.     <item android:drawable="@drawable/girl_7" android:duration="400" />
17.    <item android:drawable="@drawable/girl_8" android:duration="400" />
18.    <item android:drawable="@drawable/girl_9" android:duration="200" />
19.     <item android:drawable="@drawable/girl_10" android:duration="200" />
20.    <item android:drawable="@drawable/girl_11" android:duration="200" />
21.</animation-list>

item 中drawable属性 对应当前帧使用的图片资源  duration指定每一帧播放的时长

②在界面的布局文件中 通过ImageView的background属性加载drawableanimation

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
2.      xmlns:tools="http://schemas.android.com/tools"
3.      android:layout_width="match_parent"
4.      android:layout_height="match_parent"
5.      android:paddingBottom="@dimen/activity_vertical_margin"
6.      android:paddingLeft="@dimen/activity_horizontal_margin"
7.      android:paddingRight="@dimen/activity_horizontal_margin"
8.      android:paddingTop="@dimen/activity_vertical_margin"
9.      tools:context=".MainActivity" >
10.
11.    <ImageView
12.        android:id="@+id/iv_animation"
13.        android:layout_width="wrap_content"
14.        android:layout_height="wrap_content"
15.        android:background="@drawable/drawableanimation" />
16.</RelativeLayout>

③在java代码中 找到imageview 通过getbackground找到Drawableanimation 资源 然后开始动画

public class MainActivity extends Activity {
2.
3.      @Override
4.      protected void onCreate(Bundle savedInstanceState) {
5.          super.onCreate(savedInstanceState);
6.          setContentView(R.layout.activity_main);
7.          ImageView iv_image = (ImageView) findViewById(R.id.iv_animation);
8.          //找到imageview的背景资源 这个背景就是一个帧动画 强转成帧动画对应的AnimationDrawable对象
9.         AnimationDrawable anim =  (AnimationDrawable) iv_image.getBackground();
10.       //开启动画
11.       anim.start();
12.    }
时间: 2024-10-12 21:19:39

Android 基础的三种动画 帧动画、补间动画、属性动画。的相关文章

Android基础笔记(十)- 帧动画、补间动画详解、对话框

帧动画 补间动画Tween Animation 对话框以及面试中的注意点 帧动画 帧动画很简单,我们首先看一下Google官方解释This is a traditional animation in the sense that it is created with a sequence of different images. 意思表达的很明了,一个传统的动画是由一组不同的图片组成的.帧动画,就像GIF图片,通过一系列Drawable依次显示来模拟动画的效果. 创建一帧动画分为一下几步(支持4

Android 动画系列之补间(Tween)动画详解

转载请标明出处: http://blog.csdn.net/Airsaid/article/details/51591239 本文出自:周游的博客 前言 开发环境 补间动画的属性 Animation的属性 Alpha属性 Rotate属性 Scale属性 Translate属性 AnimationSet属性 补间动画的使用 代码中使用补间动画 XML中定义补间动画资源AnimationDrawable 补间Tween动画与Interpolator 前言 上一篇博客中写了逐帧动画(Frame)的使

android Service Activity三种交互方式(付源码)(转)

android Service Activity三种交互方式(付源码) Android应用服务器OSBeanthread android Service Binder交互通信实例 最下边有源代码: android SDK提供了Service,用于类似*nix守护进程或者windows的服务. Service有两种类型: 本地服务(Local Service):用于应用程序内部 远程服务(Remote Sercie):用于android系统内部的应用程序之间 前者用于实现应用程序自己的一些耗时任务

Android属性动画完全解析(上),初识属性动画的基本用法

手机上去实现一些动画效果算是件比较炫酷的事情,因此Android系统在一开始的时候就给我们提供了两种实现动画效果的方式,逐帧动画(frame-by-frame animation)和补间动画(tweened animation).逐帧动画的工作原理很简单,其实就是将一个完整的动画拆分成一张张单独的图片,然后再将它们连贯起来进行播放,类似于动画片的工作原理.补间动画则是可以对View进行一系列的动画操作,包括淡入淡出.缩放.平移.旋转四种. 然而自Android 3.0版本开始,系统给我们提供了一

(转载)Android数据存储三种方式总结

本文转载自:http://www.cnblogs.com/ITtangtang/p/3920916.html 本文介绍Android平台进行数据存储的三大方式,分别如下: 1 使用SharedPreferences存储数据 2 文件存储数据 3 SQLite数据库存储数据 其他: 4 使用ContentProvider存储数据 5 网络存储数据 下面详细讲解这五种方式的特点 第一种: 使用SharedPreferences存储数据     适用范围:保存少量的数据,且这些数据的格式非常简单:字符

Android中的三种XML解析方式

在Android中提供了三种解析XML的方式:SAX(Simple API XML),DOM(Document Objrect Model),以及Android推荐的Pull解析方式.下面就对三种解析方式一一详细阐述. 假设要要解析person.xml文档 <?xml version="1.0" encoding="UTF-8"?><persons>  <person id="1">    <name&g

Android工程中三种库的区别:Private Libraries、Referenced Libraries、Dependency Libraries

一.v4.v7.v13的作用和用法 1.Android Support V4, V7, V13是什么? 本质上就是三个java library. 2.为什么要有support库? ??是为了解决软件的兼容问题.如果在低版本Android平台上开发一个应用程序,而应用程序又想使用高版本才拥有的功能,就需要使用Support库. ??android api向来是高版本兼容低版本.如api-8(android2.2)必会兼容api-4(android 1.6).但是反之则不会,你使用2.2的平台版本b

Android之LayoutInflater三种方式分析

获取LayoutInflater有三种不同的方式,那么这三种方式有什么区别呢? 源码: ① LayoutInflater inflater = LayoutInflater.from(context);  (LayoutInflater类) <span style="font-size:14px;">public static LayoutInflater from(Context context) { LayoutInflater LayoutInflater = (La

用Fiddler可以设置浏览器的UA 和 手动 --Chrome模拟手机浏览器(iOS/Android)的三种方法,亲测无误!

附加以一种软件的方法是:用Fiddler可以设置浏览器的UA 以下3种方法是手动的 通过伪装User-Agent,将浏览器模拟成Android设备. 第一种方法:新建Chrome快捷方式 右击桌面上的Chrome浏览器图标,在弹出的右键菜单中选择“复制”,复制一个图标副本到桌面.右击该副本,选择“属性”,打开相应的对话框,在“目标”文本框的字符后面添加以下语句:“--user-agent="Android"”,如下图: 注意user前面是两个“-”,并且“chrome.exe”与“--