2015年7月26日 星期日

[Android]連續撥放多張圖片

有時候會需要做像一個轉動的畫面,會需要多張圖連續撥放。 首先,

建立一個含有ImageView 的Layout
 <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="#ffffffff"  
   tools:context="com.example.demo.FirstActivity" >  
   <ImageView  
     android:id="@+id/search"  
     android:layout_width="wrap_content"  
     android:layout_height="wrap_content"  
     android:layout_centerInParent="true" />    
 </RelativeLayout>  


接下來要弄一個pic.xml檔案來紀錄要連續撥放的圖片。

(如果覺得撥放順序錯了,試著把圖檔順序反過來)

 <?xml version="1.0" encoding="utf-8"?>  
 <!--  
 oneshot代表著是否只展示一遍,設置為false會不停的循環播放動畫     
 android:duration 表示展示所用的該圖片的時間長度  
 -->  
 <animation-list  
 xmlns:android="http://schemas.android.com/apk/res/android"  
 android:oneshot="false"  
 >   
 <item android:drawable="@drawable/search_15" android:duration="50"></item>  
 <item android:drawable="@drawable/search_14" android:duration="50"></item>  
 <item android:drawable="@drawable/search_13" android:duration="50"></item>  
 <item android:drawable="@drawable/search_12" android:duration="50"></item>  
 <item android:drawable="@drawable/search_11" android:duration="50"></item>  
 <item android:drawable="@drawable/search_10" android:duration="50"></item>  
 <item android:drawable="@drawable/search_09" android:duration="50"></item>  
 <item android:drawable="@drawable/search_08" android:duration="50"></item>  
 <item android:drawable="@drawable/search_07" android:duration="50"></item>  
 <item android:drawable="@drawable/search_06" android:duration="50"></item>  
 <item android:drawable="@drawable/search_05" android:duration="50"></item>  
 <item android:drawable="@drawable/search_04" android:duration="50"></item>  
 <item android:drawable="@drawable/search_03" android:duration="50"></item>  
 <item android:drawable="@drawable/search_02" android:duration="50"></item>  
 <item android:drawable="@drawable/search_01" android:duration="50"></item>  
 </animation-list>  

將ImageViw的BackgroundResource設為pic.xml
@Override

 protected void onCreate(Bundle savedInstanceState) {

  super.onCreate(savedInstanceState);

  setContentView(R.layout.activity_first);

  imageView = (ImageView) findViewById(R.id.search);


  imageView.setBackgroundResource(R.drawable.pic);
 }

在需要撥放的地方寫下面這段程式碼

animationDrawable = (AnimationDrawable) imageView

    .getBackground();



// 動畫是否正在運行
if (animationDrawable.isRunning()) {
 // 停止動畫播放
       animationDrawable.stop();
}else {

 // 開始或者繼續動畫播放
 animationDrawable.start();

}

沒有留言:

張貼留言