@dimasik100200

Как создать Collapsing Toolbar только для одного фрагмента?

У меня есть несколько фрагментов, между которыми я переключаюсь с помощью Navigation Drawer. Во одном из фрагментов мне нужно использовать Collapsing Toolbar с картинкой, у других же стандарнтый Toolbar, однако collapsing toolbar появляется под обычным. Как это исправить? Вот xml фрагмента
<android.support.design.widget.CoordinatorLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/annonce.main.coordinator"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true"
tools:ignore="RtlHardcoded"
>

<android.support.design.widget.AppBarLayout
    android:id="@+id/flexible.example.appbar"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:fitsSystemWindows="true"
    android:theme="@style/AppTheme.NoActionBar"
    >

    <android.support.design.widget.CollapsingToolbarLayout
        android:id="@+id/flexible.example.collapsing"
        android:layout_width="match_parent"
        android:layout_height="300dp"
        app:title="User NAme"
        app:expandedTitleMarginBottom="94dp"
        app:layout_scrollFlags="scroll|exitUntilCollapsed"
        android:fitsSystemWindows="true"
        app:contentScrim="?colorPrimary"
        >

        <ImageView
            android:layout_width="fill_parent"
            android:layout_height="match_parent"
            android:src="@drawable/test4"
            android:tint="#BB3E50B4"
            android:scaleType="centerCrop"
            app:layout_collapseMode="parallax"
            />

        <android.support.v7.widget.Toolbar
            android:id="@+id/flexible.example.toolbar"
            android:layout_width="match_parent"
            android:layout_height="?attr/actionBarSize"
            android:background="@null"
            app:layout_collapseMode="pin"
            />
    </android.support.design.widget.CollapsingToolbarLayout>
</android.support.design.widget.AppBarLayout>

Вот styles.xml
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
    <item name="colorPrimary">@color/colorPrimary</item>
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
    <item name="colorAccent">@color/colorAccent</item>
</style>

Вот activity_main.xml
<android.support.v4.widget.DrawerLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/drawer_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true"
tools:openDrawer="start">

<android.support.design.widget.CoordinatorLayout
    android:id="@+id/content"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">

    <android.support.design.widget.AppBarLayout
        android:id="@+id/appBarLayout"
        android:layout_width="match_parent"
        android:layout_height="wrap_content">

        <android.support.v7.widget.Toolbar
            android:layout_width="match_parent"
            android:layout_height="?attr/actionBarSize"
            android:background="?attr/colorPrimary"
            app:elevation="@dimen/default_elevation"
            app:layout_scrollFlags="scroll|enterAlways"
            app:theme="@style/ThemeOverlay.AppCompat.Light">
        </android.support.v7.widget.Toolbar>

    </android.support.design.widget.AppBarLayout>

    <android.support.v7.widget.RecyclerView
        android:id="@+id/rvFeed"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:scrollbars="none"
        app:layout_behavior="@string/appbar_scrolling_view_behavior" />

    <include layout="@layout/content_main" />

</android.support.design.widget.CoordinatorLayout>


<android.support.design.widget.NavigationView
    android:id="@+id/nav_view"
    android:layout_width="wrap_content"
    android:layout_height="match_parent"
    android:layout_gravity="start"
    android:fitsSystemWindows="true"
    app:headerLayout="@layout/view_global_menu_header"
    app:menu="@menu/activity_main_drawer" />

В итоге должно получиться что-то типо этого
5a2fe8986c0b8910742869.jpeg
  • Вопрос задан
  • 3044 просмотра
Решения вопроса 1
thelongrunsmoke
@thelongrunsmoke
Программист
Подразумевается, что CollapsingToolbar используется на отдельной активити, а не во фрагменте, чтобы обеспечить удобную навигацию по кнопке "Назад" и уменьшить количество лишних действий в родительском вью.
Если такой подход всё же необходим, то надо создать тему содержащую:
<item name="windowActionBar">false</item>
<item name="windowNoTitle">true</item>

И затем перезагрузить активити вызвав setTheme(тема без тулбара) до setContentView().

Другой вариант. Банально выставить высоту тулбара в 0.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы