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

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

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

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

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

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

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

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

EDIT (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

1 Ответ

5 голосов
/ 24 ноября 2011

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

...