<?xml version="1.0" encoding="utf-8"?><animation-list xmlns:android="http://schemas.android.com/apk/res/android" android:oneshot="true"> <item android:drawable="@drawable/scan1" android:duration="100" /> <item android:drawable="@drawable/scan2" android:duration="100" /> <item android:drawable="@drawable/scan3" android:duration="100" /> <item android:drawable="@drawable/scan4" android:duration="100" /></animation-list>通過上面的代碼我們可以看到,這個動畫包含 4 幀。另外我們可以通過設置 </animation-list> 節點下的 android:oneshot 屬性來控制動畫的循環次數,如果將android:oneshot 的屬性設置為 true,那么這個動畫只會循環一次并停留在最后一幀。如果設置為 false,那么這個動畫將會不停的循環下去。將這個文件命名文 scan.xml 并保存到項目的 /res/drawable/ 目錄下,然后它就可以當作背景圖片被添加到另一個視圖上,并被調用顯示。參見如下代碼:
package cn.hengyi.animationtest;import android.app.Activity;import android.graphics.drawable.AnimationDrawable;import android.os.Bundle;import android.view.Menu;import android.view.View;import android.widget.ImageView;public class MainActivity extends Activity { PRivate ImageView scanView; private AnimationDrawable scanAnimation; public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); scanView = (ImageView) findViewById(R.id.iv_scan); scanView.setBackgroundResource(R.drawable.scan); scanAnimation = (AnimationDrawable) scanView.getBackground(); } public void start(View view) { scanAnimation.start(); } public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.activity_main, menu); return true; }}
新聞熱點
疑難解答