Что происходит, когда вы вызываете FragmentTransaction.replace () для контейнера фрагмента? - PullRequest
1 голос
/ 27 апреля 2019

Мое приложение имеет 1 активность и несколько фрагментов.

Контейнер - это FrameLayout в моей деятельности, и после добавления исходного фрагмента в этот контейнер replace() затем используется для изменения фрагментов.

Начальное добавление : transaction.add(R.id.fragment_container, firstFragment, "FirstFragment")

После начального добавления : transaction.replace(R.id.fragment_container, newFragment, "FragmentTag")

activity_main.xml

...
<FrameLayout
    android:layout_width="match_parent"
    android:layout_height="0dp"
    android:id="@+id/fragment_layout"
    app:layout_constraintTop_toBottomOf="@id/toolbar"
    app:layout_constraintBottom_toTopOf="@id/bottomNav">
</FrameLayout>
...

Мой вопрос: что именно происходит, когда я добавляю и заменяю фрагмент в R.id.fragment_layout?

Скажите, что все мои фрагменты ConstraintLayout - это ConstraintLayout, вложенное в FrameLayout?

1 Ответ

2 голосов
/ 28 апреля 2019

Да, ваш ConstrainLayout будет вложен в FrameLayout, просто откройте Layout Inspector (Инструменты -> Инспектор макетов), и вы увидите следующее: enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...