Универсальное приложение (для планшетов и телефонов) - как лучше структурировать - XML ​​с несколькими макетами или показать / скрыть виджеты?

Я планирую свое первое настоящее приложение для Android и хочу, чтобы оно было универсальным (планшет и телефон). Макет будет представлять собой три представления списка, которые заполняются предыдущим представлением списка (первый список всегда имеет один и тот же список элементов, второй список будет заполнен на основе выбора первого списка, третий список будет заполнен на основе выбора первого и второго списка) После того, как элемент в списке 3 выбран, отобразятся сведения об этом элементе.К вашему сведению, данные находятся в файле XML (иерархия включения), а детали - это листовые узлы.

Я планирую иметь два макета. Для планшета у меня будут все три вида списка и детали на одном экране. Для телефона я собираюсь сделать так, чтобы каждый список занимал весь экран, и когда элемент выделен, слайд-переход к следующему представлению списка (с навигацией вверху для перехода к предыдущему списку, а также информация о том, что выбран (s) были из предыдущих списков). Когда выбран элемент в третьем списке, отобразите страницу сведений, на которой также будет кнопка для начала (т. Е. Возврата к просмотру первого списка).

У меня планшетный вид работает очень хорошо, так как он самый простой (всего один экран, без переходов) - все в layout / main.xml. У меня также есть разные макеты для экранов разного размера (layout, layout-large, layout-small, layout-xlarge), все из которых на данный момент имеют один и тот же файл main.xml.

Итак, наконец, к моему вопросу ... Как мне использовать один и тот же код для заполнения списков, имея разный пользовательский интерфейс? Я вижу два варианта (пожалуйста, добавьте больше / лучше)

  1. Что касается телефона, должен ли я продолжать иметь один файл макета (main.xml), и просто все три списка и детали располагаться друг над другом и через слайд-переход, показать / скрыть виджеты? (т.е. сначала отображается только первое представление списка, второе представление списка скрыто, третье представление списка скрыто, детали скрыты)

  2. Должен ли я иметь один макет xml для каждого из экранов на телефоне (основной .xml - исходное представление списка, list2.xml, list3.xml и детали.xml)?

Чтобы определить, планшет это или нет, я планирую использовать код из приложения Google I / O
Разработка универсального приложения для Android (телефон и планшет)

РЕДАКТИРОВАТЬ (2011 / 11/29)
Нашел несколько хороших интернет-ресурсов по фрагментам:
http://android-developers.blogspot.com/2011/02/android-30-fragments-api.html
http://portabledroid.wordpress.com/2011/06/22/25/
http://portabledroid.wordpress.com/2011/06/23/multi-platform-fragments-part-ii/
и сопровождающее видео:
http://www.youtube.com/watch?v=4BKlST82Dtg

6
задан Vadim Kotov 22 August 2017 в 11:13
поделиться