您的位置:首页 > 其它

动画之逐帧

2016-02-08 20:38 330 查看

步骤:
第一步:在安卓xml资源文件中定义一组用于生成动画的图片资源,包含一系列的《item》,《animation—list》等标记实现。(oneshot属性设置是否循环播放,false代表循环播放,duration属性设置播放的时间)
第二步:在布局文件中定义布局的背景为我们所设置的图片资源(第一步所做的图片资源)。也可以作为mageView
的背景使用。
第三步:先创建一个布局管理器,找到布局;在创建一个animationdrawable对象,设置布局文件背景;最后在播放动画。
第四步:播放跟暂停动画的实现:首先布局设点击事件;然后定义一个标签flag为true用if判断,如果flag为true则调用animationdrawable.start()播放动画,反之则animationdrawable.stop()暂停动画。
具体操作:
1、在drawable添加6张图片,即需要循环播放的图片
lm1.png:



lm2.png:



lm3.png:



lm4.png:



lm5.png:



lm6.png:



2、在drawable添加zhuzhen.xml

<?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/lm1" android:duration="200"/>
<item android:drawable="@drawable/lm2" android:duration="200"/>
<item android:drawable="@drawable/lm3" android:duration="200"/>
<item android:drawable="@drawable/lm4" android:duration="200"/>
<item android:drawable="@drawable/lm5" android:duration="200"/>
<item android:drawable="@drawable/lm6" android:duration="200"/>
</animation-list>

3、布局文件activity_main
<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="match_parent"
android:background="@drawable/zhuzhen"
android:id="@+id/relativeLayout"
tools:context=".MainActivity" >
</RelativeLayout>

4、MainActivity.java
package com.example.zhuzhen;

import android.app.Activity;
import android.graphics.drawable.AnimationDrawable;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.RelativeLayout;

public class MainActivity extends Activity {
Boolean flag = true;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
RelativeLayout relativeLayout = (RelativeLayout) findViewById(R.id.relativeLayout);// 初始化布局,定义一个布局管理器
final AnimationDrawable animationDrawable = (AnimationDrawable) relativeLayout.getBackground();// 创建animationdrawable对象,加载我们的设定动画
animationDrawable.start();// 启动动画
relativeLayout.setOnClickListener(new OnClickListener() {

@Override
public void onClick(View v) {
flag = !flag;
if (flag) {
animationDrawable.start();// 启动动画
} else {
animationDrawable.stop();// 停止动画
}

}
});
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: