【发布时间】:2011-04-15 04:39:11
【问题描述】:
我想创建一个旋转的进度图像,并想知道如何进行的最佳方式。我可以使其与动画列表一起使用,例如每 100 毫秒更改 12 幅图像。这很好用,但是为每种尺寸和分辨率创建 12 张图像非常繁琐:
<animation-list xmlns:android="http://schemas.android.com/apk/res/android" android:oneshot="false">
<item android:drawable="@drawable/ic_loading_grey_on_black_01" android:duration="100" />
<item android:drawable="@drawable/ic_loading_grey_on_black_02" android:duration="100" />
<item android:drawable="@drawable/ic_loading_grey_on_black_03" android:duration="100" />
<item android:drawable="@drawable/ic_loading_grey_on_black_04" android:duration="100" />
<item android:drawable="@drawable/ic_loading_grey_on_black_05" android:duration="100" />
<item android:drawable="@drawable/ic_loading_grey_on_black_06" android:duration="100" />
<item android:drawable="@drawable/ic_loading_grey_on_black_07" android:duration="100" />
<item android:drawable="@drawable/ic_loading_grey_on_black_08" android:duration="100" />
<item android:drawable="@drawable/ic_loading_grey_on_black_09" android:duration="100" />
<item android:drawable="@drawable/ic_loading_grey_on_black_10" android:duration="100" />
<item android:drawable="@drawable/ic_loading_grey_on_black_11" android:duration="100" />
<item android:drawable="@drawable/ic_loading_grey_on_black_12" android:duration="100" />
我想一个更简单的解决方案是每个分辨率使用一个图像,而是为每一帧旋转它。在平台资源 (android-sdk-windows/platforms...) 中,我在文件 drawable/search_spinner.xml 中发现了一些名为动画旋转的东西,但是如果我复制代码,则会出现编译器错误,抱怨 android:framesCount 和 android: frameDuration(Eclipse 中的 Google API 2.2):
<animated-rotate xmlns:android="http://schemas.android.com/apk/res/android"
android:drawable="@drawable/spinner_black_20"
android:pivotX="50%"
android:pivotY="50%"
android:framesCount="12"
android:frameDuration="100" />
我也尝试过使用重复旋转动画(在动画资源文件夹中使用),但我实际上更喜欢动画列表版本的外观。
解决此问题的推荐方法是什么?
【问题讨论】:
标签: android animation rotation