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

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

Файл 1.Layout

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

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

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

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

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

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

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

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

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

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