2015-03-02 2 views
2

Так что я получил свою пульсацию, работающую нормально. Мой вопрос в том, что если я установил onClickListener на кнопку и перейду на новую страницу, я никогда не вижу анимацию рябь. Я могу использовать обработчик с postDelayed в течение примерно 300 мс, чтобы увидеть анимацию, а затем перейти и работать отлично. Это лучшая практика для реализации пульсации и просмотра анимации? Это означает, что мне нужно заморозить страницу, чтобы я не мог нажимать другие кнопки во время пульсации.пульсация и синхронизация Android

+0

Нет, не блокируйте пользователя от использования вашего приложения, чтобы вы могли показать анимацию. Анимация не добавляет никакого значения для пользователя. – alanv

+0

Значение - это опыт, а также очень полезное состояние чистого хита. Это также похоже на анимацию кнопки создания материала. Для согласованности следует применять кнопки, которые реагируют одинаково. Я не хочу блокировать пользователя, но как еще я это сделаю? Вот в чем вопрос. – yeahdixon

+0

Если кнопка что-то делает, это еще более четкое указание пользователю. Хорошо, если ваше приложение так быстро реагирует, что анимация пульсации не воспроизводится. – alanv

ответ

1

Если вы используете Android, отличную от Lollipop, причина очень проста - у вас нет нового потока рендеринга. Анимированная анимация выполняется в потоке пользовательского интерфейса, которая приостанавливается при переходе на другую активность, раздувание макетов и т. Д.

Не блокируйте навигацию только для отображения анимации пульсации. Такой подход будет только раздражать пользователей.

Вы можете подготовить свои экраны в фоновом режиме и использовать их как строки списка. Так работает приложение Facebook. Все страницы готовы и ждут данных. Это означает, что вам нужно будет забыть о действиях и создании динамических фрагментов. Для обработки навигации с использованием только простых видов вы можете использовать Mortar & Flow - library duo by Square. См.: https://corner.squareup.com/2014/01/mortar-and-flow.html

+0

Спасибо за комментарий. Это хорошо для транзисторных страниц и информации о загрузке/данных ... имеет смысл. Не всегда нужно загружать макеты. Например, я хочу кнопку закрытия, которая просто скрывает вид, который уже был загружен. Я также хочу, чтобы у него было постоянное ощущение с остальными элементами дизайна материала, которые должны играть анимацию пульсации. Единственный способ сделать это - дождаться, когда анимация начнется, насколько я могу сказать или просто не играть в анимацию. Я смотрел на некоторые другие материальные проекты, и кнопки часто непоследовательны в их использовании ряби. – yeahdixon

Смежные вопросы