При создании новой активности Android она использовала для создания xml-файла в папке макетов, где я бы определил интерфейс. Теперь он создает два файла:
Файл 1.Layout
2. Файл макета фрагмента.
Может ли кто-нибудь объяснить разницу между ними? Также при попытке добавить элементы в виде списков, кнопок … и т. Д. В каком файле следует добавить их для вызова в файле активности.
Начиная с Android 3.0, в действиях теперь могут размещаться фрагменты, которые можно использовать для разработки частей пользовательского интерфейса, и отображаться в разных конфигурациях в зависимости от размера экрана, ориентации и других факторов. Настоятельно рекомендуется использовать фрагменты в современных приложениях для Android, но не требуется.
Вы можете создать макет действия, который будет содержать один или несколько фрагментов, а затем поместить компоненты пользовательского интерфейса в макет фрагмента. Активность загрузит фрагмент, а затем фрагмент раздует макет, который вы хотите представить внутри него. Вы также можете динамически добавлять / удалять / заменять разные фрагменты внутри одного и того же действия, в зависимости от того, что вы хотите отобразить пользователю.
Вы можете узнать больше о том, как использовать фрагменты здесь: Фрагменты | Разработчики Android
Вы также можете игнорировать принцип проектирования фрагментов и продолжать размещать все ваши макеты в файле макета активности. В этом случае вы можете удалить макет фрагмента.
По умолчанию структура новых Android-проектов изменилась с момента недавнего обновления adt:
Как это сейчас : будет создан фрагмент «PlaceHolderFragment», в котором используется макет фрагментов. Другой макет – тот, который использует Activity.
Как это было до этого : после создания нового проекта не генерировался фрагмент, поэтому не было необходимости в фрагментации.
==> Вы должны решить, хотите ли вы сейчас использовать фрагменты. Если это так, используйте макет фрагмента и узнайте, как использовать Фрагменты в Android . Если вы решите, что теперь вам не нужно использовать фрагменты, вы можете просто удалить код PlaceHolderFragment и удалить макет фрагментов.