Разница между компоновкой и макетами фрагментов

При создании новой активности Android она использовала для создания xml-файла в папке макетов, где я бы определил интерфейс. Теперь он создает два файла:

Файл 1.Layout

2. Файл макета фрагмента.

Может ли кто-нибудь объяснить разницу между ними? Также при попытке добавить элементы в виде списков, кнопок … и т. Д. В каком файле следует добавить их для вызова в файле активности.

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

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

Вы можете узнать больше о том, как использовать фрагменты здесь: Фрагменты | Разработчики Android

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

По умолчанию структура новых Android-проектов изменилась с момента недавнего обновления adt:

  • Как это сейчас : будет создан фрагмент «PlaceHolderFragment», в котором используется макет фрагментов. Другой макет – тот, который использует Activity.

  • Как это было до этого : после создания нового проекта не генерировался фрагмент, поэтому не было необходимости в фрагментации.

==> Вы должны решить, хотите ли вы сейчас использовать фрагменты. Если это так, используйте макет фрагмента и узнайте, как использовать Фрагменты в Android . Если вы решите, что теперь вам не нужно использовать фрагменты, вы можете просто удалить код PlaceHolderFragment и удалить макет фрагментов.

Intereting Posts
Имеет ли смысл иметь более одного сокета UDP Datagram в режиме ожидания? Являются ли «одновременные» пакеты сброшены или поставлены в очередь ядром? Android: можно прикрепить файл к электронной почте без записи на SD? LAYER_TYPE_SOFTWARE вызывает загрузку пустой страницы WebView Android.util.AndroidRuntimeException: requestFeature () необходимо вызвать перед добавлением содержимого Не нажимайте кнопку на передний план при нажатии Разработка приложения похожа на «Google сейчас» – возможно ли использовать распознавание голоса без ввода ключа? Allocation Tracker: как использовать его для обнаружения утечек памяти? Баннер adMob охватывает текстовый вид, когда всплывает мягкая клавиатура Как использовать библиотеку сохранения пространства с предварительно заполненной базой данных? Android – Tabhost работает в классе Activity Android-сборка не будет объединять манифеста из библиотек Лучший способ удалить ProgressDialog Изменить приоритет собственного потока на Android в c / c ++ Меню опций не отображает текст Почему я не могу нажать sqlite на Android с помощью команды adb?