Преобразование анимации не сохраняется при просмотре при вызове clearAnimation () при просмотре - PullRequest
0 голосов
/ 15 февраля 2019

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

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

Вы можете просмотреть изображения предварительного просмотра здесь:

https://3.bp.blogspot.com/-yYnCxksY8IQ/WxAaHcxcA7I/AAAAAAAAAtI/i86w09gbXhIC4LpKknWFbvXgrBwTjr8ugCLcBGAs/s1600/Screenshot_2018-05-31-20-44-26-684.jpeg

https://1.bp.blogspot.com/-C-SR7dsZwKc/WxAaJxRcWXI/AAAAAAAAAtU/K5_U52DVWcwaYkeTdvptoM-lUApliNKKgCLcBGAs/s1600/Screenshot_2018-05-31-20-44-45-739.jpeg

Проблема в том, что когда я вызываю clearAnimation () [чтобы остановить анимацию при нажатии кнопки паузы музыки], представление резко преобразуетсяв исходное состояние это выглядит не очень хорошо.

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

Файлы:

Файл поворота:

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android" android:fillAfter="true">
<rotate
    android:duration="5000"
    android:fromDegrees="0"
    android:pivotX="50%"
    android:pivotY="50%"
    android:repeatCount="infinite"
    android:startOffset="0"
    android:toDegrees="360" />
</set>

Очистка анимации:

private fun stopDiskAnimation() {
    v.rotate_view_album_art.clearAnimation()
}

1 Ответ

0 голосов
/ 15 февраля 2019

Animator должен помочь вам

val animator = ObjectAnimator.ofFloat(yourView, "rotation", 0f, 360f).apply {
    duration = 5000
    repeatCount = ObjectAnimator.INFINITE
    start()
}
// ...
animator.pause()

Ресурс:

http://cogitolearning.co.uk/2014/01/android-property-animations-controlling-animation-flow/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...