Должен ли координаторLayout быть помещен в Activity или Fragment при работе как с прокруткой, так и с прокруткой?

В примерах для CoordinatorLayout он всегда помещается в Activity, а фрагменты прокручиваются.

Разумно представить себе сценарий, хотя некоторые из загружаемых фрагментов прокручиваются, а некоторые фрагменты – нет, но они загружаются в одном и том же месте в активности. В этом случае, если координаторLayout должен быть помещен в «Активность» или «Фрагменты»?

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

С другой стороны, если у вас есть как прокручивающие, так и непересекающиеся фрагменты, загруженные в один и тот же заполнитель, тогда это сложно настроить (например, какое поведение прокрутки вы указываете для заполнителя фрагмента?), Поэтому кажется, что он должен жить в Фрагмент. В этом случае, должен ли каждый Фрагмент снова установить панель инструментов?

Solutions Collecting From Web of "Должен ли координаторLayout быть помещен в Activity или Fragment при работе как с прокруткой, так и с прокруткой?"

В: Должен ли координатор Layout быть помещен в действие или в фрагменты?

A: Вы можете использовать CoordinatorLayout в действии или фрагменте в другой ситуации

Вопрос: С одной стороны, поскольку вы указываете панель инструментов в качестве дочернего элемента, кажется, что все должно быть в Activity.

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

В этом примере я создаю активность с помощью NavigationView и viewPager:

Поэтому создайте макет для моей деятельности (этот макет для MainActivity):

<android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:id="@+id/drawer_layout" android:layout_height="match_parent" android:layout_width="match_parent" android:fitsSystemWindows="true"> <FrameLayout android:id="@+id/container" android:layout_width="match_parent" android:layout_height="match_parent" > </FrameLayout> <android.support.design.widget.NavigationView android:id="@+id/nav_view" android:layout_height="match_parent" android:layout_width="240dp" android:layout_gravity="right" android:fitsSystemWindows="true" app:headerLayout="@layout/nav_header" app:menu="@menu/drawer_view" app:itemIconTint="@color/tint_item_color" app:itemTextColor="@color/tint_item_color" /> </android.support.v4.widget.DrawerLayout> 

Для создания viewPager с tablayout Я создаю этот макет (этот макет для фрагмента)

 <android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:id="@+id/main_content" android:layout_width="match_parent" android:layout_height="match_parent" > <android.support.design.widget.AppBarLayout android:id="@+id/appbar" android:layout_width="match_parent" android:layout_height="wrap_content" android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"> <include layout="@layout/toolbar_main" android:id="@+id/toolbar"/> <android.support.design.widget.TabLayout android:id="@+id/tabs" android:layout_width="match_parent" android:layout_height="wrap_content" app:tabGravity="fill" app:tabIndicatorColor="@color/tab_color" app:tabSelectedTextColor="@color/tab_color" /> </android.support.design.widget.AppBarLayout> <android.support.v4.view.ViewPager android:id="@+id/viewpager" android:layout_width="match_parent" android:layout_height="match_parent" app:layout_behavior="@string/appbar_scrolling_view_behavior" /> </android.support.design.widget.CoordinatorLayout> 

Затем используйте другой макет для listFragment, который я использую в viewPager:

 <android.support.design.widget.CoordinatorLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent" android:id="@+id/main_list_content" xmlns:fab="http://schemas.android.com/apk/res-auto" android:orientation="vertical" android:background="@color/background_window"> <android.support.v7.widget.RecyclerView android:layout_width="match_parent" android:layout_height="match_parent" android:layout_marginLeft="0dp" android:layout_marginRight="0dp" android:layout_marginBottom="8dp" android:layout_marginTop="0dp" android:id="@+id/exersice_listviwe"/> <android.support.design.widget.FloatingActionButton android:id="@+id/fab" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginRight="16dp" android:layout_marginBottom="64dp" android:clickable="true" android:src="@drawable/ic_done" fab:layout_anchor="@+id/main_list_content" fab:layout_anchorGravity="bottom|right" /> </android.support.design.widget.CoordinatorLayout >