Android — Фрагменты


Fragments — это часть Activity, которая обеспечивает более модульный дизайн Activity. Не будет ошибкой, если мы скажем, что фрагмент — это своего рода вспомогательная Activity.

Ниже приведены важные моменты о фрагменте

  • У фрагмента есть собственный макет и собственное поведение с собственными обратными вызовами жизненного цикла.
  • Вы можете добавлять или удалять фрагменты в действии во время его выполнения.
  • Вы можете объединить несколько фрагментов в одном действии для создания многопанельного пользовательского интерфейса.
  • Фрагмент можно использовать в нескольких действиях.
  • Жизненный цикл фрагмента тесно связан с жизненным циклом Activity его хоста, что означает, что когда Activity приостановлено, все фрагменты, доступные в Activity, также будут остановлены.
  • Фрагмент может реализовать поведение, не имеющее компонента пользовательского интерфейса.
  • Фрагменты были добавлены в Android API в версии Android Honeycomb с версией API 11.

Вы создаете фрагменты, расширяя Fragments class, и вы можете вставить фрагмент в макет Activity, объявив фрагмент в файле макета Activity как <Fragments> элемент.

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

Ниже приведен типичный пример того, как два модуля пользовательского интерфейса, определенные фрагментами, могут быть объединены в одно действие для дизайна планшета, но разделены для дизайна телефона.

Фрагмент Android

Приложение может встраивать два фрагмента в Activity при работе на устройстве размером с планшет. Однако на экране размером с телефон не хватает места для обоих фрагментов, поэтому Activity А включает только фрагмент для списка статей, а когда пользователь выбирает статью, запускается Activity B, которое включает второй фрагмент для чтения статей.

Жизненный цикл фрагмента

Фрагменты Android имеют собственный жизненный цикл, очень похожий на Activity Android. В этом разделе кратко описаны различные этапы его жизненного цикла.

Фрагмент

Жизненный цикл фрагмента

Вот список методов, которые вы можете переопределить в своем классе фрагмента

  • onAttach ()Экземпляр фрагмента связан с экземпляром Activity. Фрагмент и Activity не полностью инициализированы. Обычно в этом методе вы получаете ссылку на Activity, которое использует фрагмент для дальнейшей инициализации.
  • onCreate () Система вызывает этот метод при создании фрагмента. Вы должны инициализировать основные компоненты фрагмента, которые вы хотите сохранить, когда фрагмент приостановлен или остановлен, а затем возобновлен.
  • onCreateView () Система вызывает этот обратный вызов, когда пора фрагменту впервые нарисовать свой пользовательский интерфейс. Чтобы нарисовать UI для вашего фрагмента, вы должны вернуть Вид компонент из этого метода, который является корнем макета вашего фрагмента. Вы можете вернуть значение null, если фрагмент не предоставляет пользовательский интерфейс.
  • onActivityCreated () вызывается после метода onCreateView () при создании активности узла. Были созданы действие и экземпляр фрагмента, а также иерархия представления Activity. На этом этапе View можно получить с помощью метода findViewById (). Пример. В этом методе вы можете создавать экземпляры объектов, которым требуется объект Context.
  • onStart ()Метод onStart () вызывается, когда фрагмент становится видимым.
  • onResume () когда фрагмент становится активным.
  • onPause () Система вызывает этот метод как первое указание на то, что пользователь покидает фрагмент. Обычно именно здесь вы должны зафиксировать любые изменения, которые должны сохраняться после текущего сеанса пользователя.
  • onStop ()Фрагмент будет остановлен вызовом onStop ()
  • onDestroyView () Вид фрагмента будет уничтожен после вызова этого метода
  • onDestroy () вызывается для окончательной очистки состояния фрагмента.

Как использовать фрагменты?

Это включает в себя ряд простых шагов для создания фрагментов.

  • Прежде всего решите, сколько фрагментов вы хотите использовать в действии. Например, мы хотим использовать два фрагмента для работы с альбомным и портретным режимами устройства.
  • Затем на основе количества фрагментов создайте классы, которые будут расширять Фрагмент учебный класс. Class Fragment имеет вышеупомянутые функции обратного вызова. Вы можете переопределить любую из функций в зависимости от ваших требований.
  • Соответственно каждому фрагменту вам нужно будет создать файлы макета в XML-файле. Эти файлы будут иметь макет для определенных фрагментов.
  • Наконец, измените файл активности, чтобы определить фактическую логику замены фрагментов в соответствии с вашими требованиями.

Типы фрагментов

В основном фрагменты делятся на три этапа, как показано ниже.

  • Фрагменты одного кадра — фрагменты одного кадра используются для ручных устройств, таких как мобильные телефоны, здесь мы можем показать только один фрагмент в качестве представления.
  • Фрагменты списка — фрагменты, имеющие специальное представление списка, называются фрагментом списка
  • Транзакция фрагментов — использование с транзакцией фрагментов. мы можем переместить один фрагмент в другой.
Поделись с друзьями:

Оставьте комментарий