Несколько кнопок анимации в последовательности - только последняя показывает - PullRequest
1 голос
/ 29 октября 2011

У меня есть вид в Android, в котором мне нужно последовательно выделять и отменять выделение кнопок при нажатии определенного элемента управления.Это удобная функция - поскольку каждая кнопка подсвечивается, она читается пользователю вслух.Я использую класс AlphaAnimation для выполнения выделения.Однако теперь, независимо от того, сколько недействительных вызовов или потоков обратного вызова я вставил, пользователю фактически предоставляется только последняя анимация.Другие по-прежнему вызываются, но переопределяются последней анимацией, поэтому отображается только одна.Я также попытался просто установить свойства непрозрачности / альфа-кнопок, но все эти модификации в конечном итоге пакетируются и выполняются одновременно.Мне нужно, чтобы эти анимации происходили в последовательности.Я еще не нашел хорошего способа обновить главное представление до того, как ему вернется поток управления (т.е. обновить его несколько раз, прежде чем метод, который он вызывает, вернется).У кого-нибудь есть идеи?

1 Ответ

2 голосов
/ 29 октября 2011

Для всех, кто сталкивается с этой проблемой, я наконец нашел решение.

Документация: http://developer.android.com/reference/android/os/AsyncTask.html http://www.anddev.org/tut_updating_ui_from_a_thread-t11125.html

Мое решение: создать AsyncTask, который принимает массив кнопок.В своем методе doInBackground он выделяет / затемняет, а затем отправляет обновление задействованных кнопок в метод onProgressUpdate во время каждой итерации в схеме выделения кнопок.Метод onProgressUpdate вызывает invalidate () для всех переданных кнопок. Затем для легкого доступа к функции выделения я создал метод статического выделения (кнопки ...), который создает новый экземпляр AsyncTask и вызывает для него вызовы.

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