溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Android中的幀動畫的簡單使用

發(fā)布時間:2020-07-04 11:50:39 來源:網(wǎng)絡(luò) 閱讀:640 作者:ccdebug 欄目:移動開發(fā)

Android中動畫主要有下面幾種,幀動畫(frame),補間動畫(tween),屬性動畫(property)

我們平時項目中主要用的是幀動畫和補間動畫


幀動畫需要我們準(zhǔn)備一組靜態(tài)圖片,這些圖片是通過分解動畫得來的,靜態(tài)圖片連起來播放形成動畫效果

我們在res目錄下新建一個drawable目錄,用來存放動畫資源和xml文件

圖片如下:

Android中的幀動畫的簡單使用


girl.xml 注意android:oneshot="false|true" 該屬性控制動畫是否重復(fù)播放,false代表重復(fù)播放

<?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動畫資源設(shè)置為ImageView的背景
		mAnimationDrawable = (AnimationDrawable) iv.getBackground(); // 獲取設(shè)置的動畫

		iv.setOnClickListener(new OnClickListener() {
			@Override
			public void onClick(View v) {
				if (!mAnimationDrawable.isRunning()) {
					mAnimationDrawable.start();
				} else if (mAnimationDrawable.isRunning()) {
					mAnimationDrawable.stop();
				}
			}
		});
	}
}
向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI