您好,登錄后才能下訂單哦!
Android中動畫主要有下面幾種,幀動畫(frame),補間動畫(tween),屬性動畫(property)
我們平時項目中主要用的是幀動畫和補間動畫
幀動畫需要我們準備一組靜態圖片,這些圖片是通過分解動畫得來的,靜態圖片連起來播放形成動畫效果
我們在res目錄下新建一個drawable目錄,用來存放動畫資源和xml文件
圖片如下:
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(); } } }); } }
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。