пользовательский ProgressBar с двумя отдельными анимациями - PullRequest
0 голосов
/ 07 апреля 2020

Поскольку я хочу очень похожую вещь, как в этом вопросе: оригинальный вопрос . Так что это своего рода дубликат, но в то же время это не так. В любом случае, цель анимации - достичь чего-то вроде (с изображением) this

Мой код очень похож, но я пока не смог найти решение.

стили . xml

<style name="ProgressTheme" parent="@android:style/Widget.ProgressBar.Large">
    <item name="android:indeterminateDrawable">@drawable/custom_3d_animation</item>
</style>

вызов этого стиля внутри моего ProgressBar с помощью следующего:

ProgressBar. xml

<ProgressBar
    android:id="@+id/loadingProgressBar"
    style="@style/ProgressTheme"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content" />

Единственная проблема заключается в следующем файл - custom_3d_animation. xml. Я не могу найти в документации никаких свойств, которые бы достигли этого эффекта 3d-i sh.

custom_3d_animation. xml

<rotate xmlns:android="http://schemas.android.com/apk/res/android"
    android:drawable="@drawable/custom_logo"
    android:fromDegrees="0"
    android:pivotX="50%"
    android:pivotY="50%"
    android:toDegrees="720" />

Итак, мой вопрос: как мне добиться такого поведения?

Я нахожу это решение из библиотеки YoYo, которая в основном делает свое дело, но я хочу сделать его своим собственным индикатором выполнения, потому что использование довольно простое и его можно будет повторно использовать в будущем.

YoYo.with(Techniques.FlipInX)
                    .duration(ANIMATION_DURATION)
                    .repeat(0)
                    .playOn(mainActivity.logo);

Простое ожидание ..

YoYo.with(Techniques.FlipInY)
                    .duration(ANIMATION_DURATION)
                    .repeat(0)
                    .playOn(mainActivity.logo);

Куда мне обратиться? Какова лучшая практика здесь?

...