Android Activity.setContentView (), плавный переход? - PullRequest
2 голосов
/ 21 октября 2010

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

У меня есть два разных ресурса XML-макета, где каждый макет содержит только один подкласс SurfaceView.Когда я вызываю Activity.setContentView (R.layout.second_layout) для перехода от первого макета ко второму, появляется заметный период времени, когда между двумя экранами отображается черный экран (с небольшой белой полосой вдоль верхней части).views.

Я пробовал разные вещи, такие как;создание второго представления вручную во время выполнения (т. е. без использования XML-файла макета), вызывая Activity.overridePendingTransition (android.R.anim.fade_in, android.R.anim.fade_out) после Activity.setContentView (R.layout.second_layout) ипопытка рендеринга на холст до загрузки представления (оказывается, холст недоступен).

Я не вижу других игр (или приложений), имеющих эту проблему, поэтому я предполагаю, что есть достаточно простое решение.

Если вам нужна дополнительная информация о моей конкретной ситуации, чтобы помочь, то, пожалуйста, дайте мне знать, какая информация отсутствует.Любая помощь будет в значительной степени признательна.

1 Ответ

1 голос
/ 29 октября 2010

Обновление: Мой ответ ниже был написан в 2010 году. С тех пор Фрагменты стали нормой, особенно потому, что стало возможным вложение фрагментов, а библиотека поддержки позволяет использовать эту функцию. обратно совместимым способом. Таким образом, вместо перехода к новому действию для выполнения новой «пользовательской задачи», вы можете использовать одно действие и толкать и извлекать фрагменты в иерархии представления этого действия. Анимации также могут выполняться как часть транзакции фрагмента (например, Анимация транзакции фрагмента: вставлять и выдвигать ).

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

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