看板 AndroidDev 關於我們 聯絡資訊
<?xml version="1.0" encoding="utf-8"?> <animation-list xmlns:android="http://schemas.android.com/apk/res/android" android:oneshot="false" > <item android:duration="10" android:drawable="@drawable/firefox_0" /> <item android:duration="10" android:drawable="@drawable/firefox_1" /> <item android:duration="10" android:drawable="@drawable/firefox_2" /> <item android:duration="10" android:drawable="@drawable/firefox_3" /> <item android:duration="10" android:drawable="@drawable/firefox_4" /> <item android:duration="10" android:drawable="@drawable/firefox_5" /> <item android:duration="10" android:drawable="@drawable/firefox_6" /> <item android:duration="10" android:drawable="@drawable/firefox_7" /> <item android:duration="10" android:drawable="@drawable/firefox_8" /> <item android:duration="10" android:drawable="@drawable/firefox_9" /> <item android:duration="10" android:drawable="@drawable/firefox_10" /> <item android:duration="10" android:drawable="@drawable/firefox_11" /> <item android:duration="10" android:drawable="@drawable/firefox_12" /> <item android:duration="10" android:drawable="@drawable/firefox_13" /> <item android:duration="10" android:drawable="@drawable/firefox_14" /> <item android:duration="10" android:drawable="@drawable/firefox_15" /> <item android:duration="10" android:drawable="@drawable/firefox_16" /> <item android:duration="10" android:drawable="@drawable/firefox_17" /> <item android:duration="10" android:drawable="@drawable/firefox_18" /> <item android:duration="10" android:drawable="@drawable/firefox_19" /> <item android:duration="10" android:drawable="@drawable/firefox_20" /> <item android:duration="10" android:drawable="@drawable/firefox_21" /> <item android:duration="10" android:drawable="@drawable/firefox_22" /> <item android:duration="10" android:drawable="@drawable/firefox_23" /> <item android:duration="10" android:drawable="@drawable/firefox_24" /> </animation-list> 這是找到的範例動畫xml檔 是一個火狐在轉圈(0~24為一圈的圖檔) 主程式為 public class MainFrameAnimation extends Activity { /** Called when the activity is first created. */ private Button b1; private Button b2; private ImageView v1; @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); findViews(); setListensers(); } private void findViews(){ b1 = (Button) findViewById(R.id.Button1); b2 = (Button) findViewById(R.id.Button2); v1 = (ImageView)findViewById(R.id.ImageView01); } private void setListensers(){ b1.setOnClickListener(ocl); b2.setOnClickListener(ocl); b1.setBackgroundResource(R.drawable.icon); b2.setBackgroundResource(R.drawable.icon); } private Button.OnClickListener ocl =new Button.OnClickListener() { @Override public void onClick(View v) { AnimationDrawable ad = (AnimationDrawable) v1.getBackground(); switch (v.getId()) { case R.id.Button1: ad.start(); break; case R.id.Button2: ad.stop(); break; } } }; } 我希望動畫只要按一下按鈕就轉4次就好 目前這個會一直轉個不停 我應該要改那個部份才能達到這個目的呢? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.134.40.161
Eior:寫死的話,我會在ad.start()之後用個thread判斷240*4秒後停止 03/19 15:31
Eior:上面是毫秒……漏了。 03/19 15:32
lin790505:沒寫死的打算 因為我打算拿來另外使用 03/19 16:04
lin790505:目前查到把oneshot改true後可以只播一次 但要兩次以上 03/19 16:06
lin790505:就沒辦法了 用for-loop好像也沒用 03/19 16:06
Eior:笨一點的方法是把xml的內容複製四遍 03/19 16:08
lin790505:這好像不太好用 如果後來改由手機輸入重覆次數的話 03/19 16:36
lin790505:就不適用了 03/19 16:36
lovelycateye:http://goo.gl/l4eHr stackoverflow這篇有人在說 03/19 22:01