Есть ли в Android AnimationDrawable инструмент для быстрого импорта? - PullRequest
0 голосов
/ 13 декабря 2018

Я хочу создать анимационное рисование точно так же, как этот пример из 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 Ответ

0 голосов
/ 13 декабря 2018

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

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

    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); 
...