我正在使用handler
來簡單地發佈延遲的時間間隔,循環訪問一系列可繪製資源並相應地設置imageResource
。它工作得很好,但「動畫」不是非常流暢。有沒有其他的方式來實現這種類型的動畫,我只是翻閱像翻書一樣的圖像?更好的實現翻書風格動畫的方法?
回答
你想在Android中稱爲「幀動畫」。圖像和顯示在屏幕上的時間在XML文件中定義。詳情請參閱以下鏈接:
http://developer.android.com/guide/topics/resources/animation-resource.html#Frame
這裏是我有它在快速測試程序,我寫了運行:
setContentView(R.layout.main);
ImageView rocketImage = (ImageView) findViewById(R.id.imageView1);
rocketImage.setBackgroundResource(R.drawable.jena);
rocketAnimation = (AnimationDrawable) rocketImage.getBackground();
然後,我繪製文件夾內我有jena.xml :
<animation-list xmlns:android="http://schemas.android.com/apk/res/android"
android:oneshot="false">
<item android:drawable="@drawable/jenaveve0000" android:duration="500"/>
<item android:drawable="@drawable/jenaveve0001" android:duration="500"/>
<item android:drawable="@drawable/jenaveve0002" android:duration="500"/>
<item android:drawable="@drawable/jenaveve0003" android:duration="500"/>
<item android:drawable="@drawable/jenaveve0004" android:duration="500"/>
<item android:drawable="@drawable/jenaveve0005" android:duration="500"/>
<item android:drawable="@drawable/jenaveve0006" android:duration="500"/>
<item android:drawable="@drawable/jenaveve0007" android:duration="500"/>
<item android:drawable="@drawable/jenaveve0008" android:duration="500"/>
<item android:drawable="@drawable/jenaveve0031" android:duration="500"/>
<item android:drawable="@drawable/jenaveve0032" android:duration="500"/>
<item android:drawable="@drawable/jenaveve0033" android:duration="500"/>
<item android:drawable="@drawable/jenaveve0034" android:duration="500"/>
<item android:drawable="@drawable/jenaveve0035" android:duration="500"/>
<item android:drawable="@drawable/jenaveve0036" android:duration="500"/>
</animation-list>
啓動動畫,我有:
public void onWindowFocusChanged(boolean hasFocus) {
// TODO Auto-generated method stub
super.onWindowFocusChanged(hasFocus);
rocketAnimation.start();
請看看如下: http://code.google.com/p/android-page-curl/
我覺得這個頁面捲曲效果是很大的。
謝謝outman。 Flipbook可能是一個誤導性的術語。我不需要翻頁效果。我只是一個接一個地設置圖像以賦予移動動畫的效果。每幅圖像都略有不同......你知道我的意思。只是想知道是否有一些優化或不同的方法來使這個更平滑。 – LuxuryMode
我明白你的意思。可以位圖或可繪製的緩存幫助你嗎?就像WeakHashMap
- 1. Flipboard的風格翻頁動畫
- 2. c#風格的好書嗎?
- 3. 更好的方式來實現搖動動畫?
- 4. 在ObjC中創建滑動控制的簡易翻書風格動畫
- 5. 更好的實現RewriteRule的方法?
- 6. 友好的網址實現wordpress風格
- 7. 最好的辦法做翻轉動畫
- 8. 有沒有更好的實現方法?
- 9. 更好的方法來實現count_permutations?
- 10. 有沒有更好的實現方法?
- 11. 更好的方式來實現matplotlib動畫與從cpu的實時數據?
- 12. 更改ViewPager的動畫風格
- 13. 如何實現翻轉動畫和更改UITableView單元格內的UIImage?
- 14. 更好的實現Html Helper方法的方法?
- 15. 更好的編程風格?
- 16. 更好的方法實現動態數組
- 17. 如何實現獅子風格刷卡和滑動動畫
- 18. 書寫開關的更好方法
- 19. flipboard動畫不同的動畫風格
- 20. 哪種風格的存儲過程書寫效果更好?
- 21. Fogbugz風格的鍵盤快捷鍵的任何好的實現?
- 22. 離子 - 更好的實現方式
- 23. 在二維數組上實現LINQ風格的擴展方法
- 24. Objective C錯誤:類實現中的C風格方法?
- 25. 實現異步輪詢方法的更好解決方案?
- 26. 實現模運算的更好方法(算法問題)
- 27. 用Cocos2D製作動畫的好方法?
- 28. jQuery的片格動畫(窗簾風格)
- 29. 使用Silverlight的DispatcherTimer - 有沒有更好的方法(動畫DependencyProperty)?
- 30. 有沒有比這更好的鏈接動畫的方法?
這絕對是它,但由於某種原因,它拒絕工作。我以編程方式完成它,比如animationDrawable.addFrame ...然後調用start(),但它只顯示第一幀。我很好,我使用我的處理程序。 (AnimationDrawable本身可能只是使用Handler本身,儘管我沒有仔細查看@源代碼) – LuxuryMode