温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Android中的帧动画的简单使用

发布时间:2020-07-04 11:50:39 来源:网络 阅读:625 作者:ccdebug 栏目:移动开发

Android中动画主要有下面几种,帧动画(frame),补间动画(tween),属性动画(property)

我们平时项目中主要用的是帧动画和补间动画


帧动画需要我们准备一组静态图片,这些图片是通过分解动画得来的,静态图片连起来播放形成动画效果

我们在res目录下新建一个drawable目录,用来存放动画资源和xml文件

图片如下:

Android中的帧动画的简单使用


girl.xml 注意android:oneshot="false|true" 该属性控制动画是否重复播放,false代表重复播放

<?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/girl_1"
        android:duration="200"/>
    <item
        android:drawable="@drawable/girl_2"
        android:duration="200"/>
    <item
        android:drawable="@drawable/girl_3"
        android:duration="200"/>
    <item
        android:drawable="@drawable/girl_4"
        android:duration="200"/>
    <item
        android:drawable="@drawable/girl_5"
        android:duration="200"/>
    <item
        android:drawable="@drawable/girl_6"
        android:duration="400"/>
    <item
        android:drawable="@drawable/girl_7"
        android:duration="400"/>
    <item
        android:drawable="@drawable/girl_8"
        android:duration="200"/>
    <item
        android:drawable="@drawable/girl_9"
        android:duration="200"/>
    <item
        android:drawable="@drawable/girl_10"
        android:duration="200"/>
    <item
        android:drawable="@drawable/girl_11"
        android:duration="200"/>

</animation-list>

MainActivity.java

package com.example.frameanim;

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.ImageView;

public class MainActivity extends Activity {

	private ImageView iv;
	private AnimationDrawable mAnimationDrawable;

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);

		iv = (ImageView) findViewById(R.id.iv);
		iv.setBackgroundResource(R.drawable.girl); // 将xml动画资源设置为ImageView的背景
		mAnimationDrawable = (AnimationDrawable) iv.getBackground(); // 获取设置的动画

		iv.setOnClickListener(new OnClickListener() {
			@Override
			public void onClick(View v) {
				if (!mAnimationDrawable.isRunning()) {
					mAnimationDrawable.start();
				} else if (mAnimationDrawable.isRunning()) {
					mAnimationDrawable.stop();
				}
			}
		});
	}
}
向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI