逐帧动画(Frame-by-frame Animations)
1.这一类动画可以创建一个Drawable序列,这些Drawable可以按照指定的时间间歇一个一个的显示.
xml定义方法
1 <animation-list xmlns:android="http://schemas.android.com/apk/res/android" 2 android:oneshot="false"> 3 <item android:drawable="tu1" android:duration="200"/> 4 <item android:drawable="tu2" android:duration="200"/> 5 <item android:drawable="tu3" android:duration="200"/> 6 </animation-list>
2.逐帧动画是在drawable下创建的一种图片,根节点是animation-list(动画列表),oneshot属性表示是否只播放一次,内部用item节点声明一个个的动画。
其中drawable指明使用的图片,duration属性这一动画显示的时间,单位毫秒。
然后可以将其当做背景图片来使用
1 <TextView 2 android:id="@+id/main_tv" 3 android:layout_width="100dp" 4 android:layout_height="100dp" 5 android:background="@drawable/animation_list"/>
3.然开在代码中开始播放动画即可
1 ((AnimationDrawable)img.getBackground()).start();
//=============
实例:帧动画
效果图:
Demo1\app\src\main\res\drawable\anim_frame.xml
1 <?xml version="1.0" encoding="utf-8"?> 2 <animation-list xmlns:android="http://schemas.android.com/apk/res/android" 3 android:oneshot="false"> 4 <item 5 android:drawable="@drawable/aa" 6 android:duration="500" /> 7 <item 8 android:drawable="@drawable/bb" 9 android:duration="500" /> 10 <item 11 android:drawable="@drawable/cc" 12 android:duration="500" /> 13 <item 14 android:drawable="@drawable/dd" 15 android:duration="500" /> 16 <item 17 android:drawable="@drawable/ee" 18 android:duration="500" /> 19 <item 20 android:drawable="@drawable/ff" 21 android:duration="500" /> 22 </animation-list>
Demo1\app\src\main\res\layout\activity_main.xml
1 <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 tools:context=".MainActivity"> 6 7 <ImageView 8 android:id="@+id/main_img" 9 android:layout_width="100dp" 10 android:layout_height="180dp" 11 android:layout_centerHorizontal="true" 12 android:layout_centerVertical="true" 13 android:background="@drawable/anim_frame"/> 14 </RelativeLayout>
Demo1\app\src\main\java\com\ly\demo1\MainActivity.java
1 package com.ly.demo1; 2 3 import android.app.Activity; 4 import android.graphics.drawable.AnimationDrawable; 5 import android.os.Bundle; 6 import android.widget.ImageView; 7 8 public class MainActivity extends Activity { 9 private ImageView img; 10 11 @Override 12 protected void onCreate(Bundle savedInstanceState) { 13 super.onCreate(savedInstanceState); 14 setContentView(R.layout.activity_main); 15 img = (ImageView) findViewById(R.id.main_img); 16 ((AnimationDrawable)img.getBackground()).start(); 17 } 18 19 }