Есть ли в Android AnimationDrawable инструмент для быстрого импорта?

Я хочу создать анимацию Drawable, как этот пример из Google,

<!-- Animation frames are wheel0.png through wheel5.png
    files inside the res/drawable/ folder -->
<animation-list android:id="@+id/selected" android:oneshot="false">
    <item android:drawable="@drawable/wheel0" android:duration="50" />
    <item android:drawable="@drawable/wheel1" android:duration="50" />
    <item android:drawable="@drawable/wheel2" android:duration="50" />
    <item android:drawable="@drawable/wheel3" android:duration="50" />
    <item android:drawable="@drawable/wheel4" android:duration="50" />
    <item android:drawable="@drawable/wheel5" android:duration="50" />
</animation-list>

Кажется, мне нужно назначить все рисование и его продолжительность по одному для анимации. Это будет скучная работа, когда мне нужно будет выполнить сотню работ.

Есть ли какой-нибудь инструмент, чтобы помочь этому?
Или каким-либо образом, который мог бы сделать это лучше?

Благодарю.

1 ответ

Простое решение для использования сотен элементов рисования - это создание анимации программным способом.

Что-то вроде:

    AnimationDrawable animation = new AnimationDrawable();
    for (int i=10; i <= 15; i++) {
         int resourceId = getContext().getResources().getIdentifier("wheel" + i, "drawable", getContext().getPackageName()); 
         animation.addFrame(ContextCompat.getDrawable(getContext(), resourceId), 50);
    }
    animation.setOneShot(false); 
Другие вопросы по тегам