Панель инструментов не закрепляется в CollapsingToolbarLayout с помощью RecyclerView

#android #android-studio #android-xml #android-collapsingtoolbarlayout #android-appbarlayout

#Android #android-studio #android-xml #android-collapsingtoolbarlayout #android-appbarlayout

Вопрос:

Я создал следующий свернутый макет панели инструментов (это изображение), но всякий раз, когда я пытаюсь прокрутить панель инструментов вниз, панель инструментов просто исчезает (это изображение). Я искал весь день и пробовал все возможные решения, которые я нашел, но все равно ничего.

Я пробовал с разными флагами, разными атрибутами и ничего. Он работал неделю назад, но в какой-то момент перестал работать нормально, и я никогда не мог понять, почему.

Мой текущий XML-код выглядит следующим образом:

 <?xml version="1.0" encoding="utf-8"?>
<androidx.coordinatorlayout.widget.CoordinatorLayout 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:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@color/backgroundCards"
    android:fitsSystemWindows="true"
    android:orientation="vertical"
    tools:context=".MainActivity">

    <com.google.android.material.appbar.AppBarLayout
        android:id="@ id/mainAppBar"
        android:layout_width="match_parent"
        android:layout_height="300dp"
        android:fitsSystemWindows="true"
        android:theme="@style/AppTheme">

        <com.google.android.material.appbar.CollapsingToolbarLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:fitsSystemWindows="true"
            app:contentScrim="@color/colorPrimaryDark"
            app:expandedTitleMarginBottom="20dp"
            app:expandedTitleMarginStart="15dp"
            app:layout_scrollFlags="scroll|exitUntilCollapsed">

            <FrameLayout
                android:layout_width="match_parent"
                android:layout_height="match_parent"
                android:layout_gravity="center"
                android:orientation="vertical">

                <ImageView
                    android:layout_width="match_parent"
                    android:layout_height="match_parent"
                    android:alpha="0.1"
                    android:contentDescription="@string/app_name"
                    android:fitsSystemWindows="true"
                    android:scaleType="centerCrop"
                    android:src="@drawable/header"
                    app:layout_collapseMode="parallax">
                </ImageView>

                <LinearLayout
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:layout_gravity="center"
                    android:orientation="vertical"
                    android:fitsSystemWindows="true"
                    app:layout_collapseMode="parallax">

                    <com.mikhaellopez.circularimageview.CircularImageView
                        android:id="@ id/nextBirthdayAvatar"
                        android:layout_width="140dp"
                        android:layout_height="wrap_content"
                        android:layout_gravity="center"
                        android:src="@drawable/dog"
                        app:civ_border_color="@color/Black"
                        app:civ_border_width="4dp"
                        app:civ_shadow="true"
                        app:civ_shadow_color="@color/DimGray"
                        app:civ_shadow_radius="3dp"/>
                    <!-- Title, secondary and supporting text -->
                    <TextView
                        android:id="@ id/nextBirthdayName"
                        android:layout_width="match_parent"
                        android:layout_height="wrap_content"
                        android:gravity="center"
                        android:text="@string/default_nextbday"
                        android:textAppearance="?attr/textAppearanceBody1"
                        android:textColor="@color/DeepPink"
                        android:textSize="30dp"
                        android:textStyle="bold"/>

                    <TextView
                        android:id="@ id/nextBirthdayDate"
                        android:layout_width="match_parent"
                        android:layout_height="match_parent"
                        android:layout_marginTop="5dp"
                        android:gravity="center"
                        android:text=""
                        android:textAppearance="?attr/textAppearanceBody2"
                        android:textColor="@color/White"
                        android:textSize="27dp"
                        android:textStyle="bold"/>
                </LinearLayout>

                <androidx.appcompat.widget.Toolbar
                    android:id="@ id/mainToolbar"
                    android:layout_width="match_parent"
                    android:layout_height="?attr/actionBarSize"
                    app:contentInsetStart="0dp"
                    app:contentInsetStartWithNavigation="0dp"
                    app:layout_collapseMode="pin"
                    app:popupTheme="@style/ToolBarStyle"></androidx.appcompat.widget.Toolbar>
            </FrameLayout>

        </com.google.android.material.appbar.CollapsingToolbarLayout>
    </com.google.android.material.appbar.AppBarLayout>


    <androidx.recyclerview.widget.RecyclerView
        android:id="@ id/list"
        android:layout_below="@ id/mainAppBar"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:drawSelectorOnTop="false"
        android:overScrollMode="never"
        app:layout_behavior="@string/appbar_scrolling_view_behavior">
    </androidx.recyclerview.widget.RecyclerView>


    <com.google.android.material.floatingactionbutton.FloatingActionButton
        android:id="@ id/fabImportContacts"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginRight="25dp"
        android:src="@drawable/ic_import_contacts_black_18dp"
        app:backgroundTint="@color/DeepPink"
        app:fabCustomSize="50dp"
        app:layout_anchor="@id/mainAppBar"
        app:layout_anchorGravity="bottom|end|right"
        app:maxImageSize="30dp"
        app:tint="@color/White"></com.google.android.material.floatingactionbutton.FloatingActionButton>

    <com.google.android.material.floatingactionbutton.FloatingActionButton
        android:id="@ id/fabNewUser"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginRight="25dp"
        android:src="@drawable/ic_contact_page_black_18dp"
        app:backgroundTint="@color/DeepPink"
        app:fabCustomSize="50dp"
        app:layout_anchor="@id/mainAppBar"
        app:layout_anchorGravity="bottom|end|right"
        app:maxImageSize="30dp"
        app:tint="@color/White"></com.google.android.material.floatingactionbutton.FloatingActionButton>

    <com.google.android.material.floatingactionbutton.FloatingActionButton
        android:id="@ id/fab"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginRight="20dp"
        android:src="@drawable/new_contact_icon"
        app:backgroundTint="@color/DeepPink"
        app:fabCustomSize="55dp"
        app:layout_anchor="@id/mainAppBar"
        app:layout_anchorGravity="bottom|end|right"
        app:maxImageSize="35dp"
        app:tint="@color/White"></com.google.android.material.floatingactionbutton.FloatingActionButton>
</androidx.coordinatorlayout.widget.CoordinatorLayout>

 

В MainActivity у меня есть следующий код, но я не думаю, что это проблема.

 
        setContentView(R.layout.activity_main);
        Toolbar tb = findViewById(R.id.mainToolbar);
        setSupportActionBar(tb);
        getSupportActionBar().setDisplayHomeAsUpEnabled(true);
        tb.setNavigationIcon(R.drawable.ic_exit_to_app);
        tb.setNavigationOnClickListener(new View.OnClickListener(){
            @Override
            public void onClick(View view) {
                Log.d("click", "navigation button");
                signOut();
            }
        });
        getSupportActionBar().setDisplayShowTitleEnabled(false);
 

Любая помощь была бы отличной, я, честно говоря, не знаю, что еще попробовать, заранее спасибо

[ОБНОВЛЕНИЕ: РЕШЕНИЕ] Как сказал @PrinceAli в комментариях, проблема заключалась в том, что панель инструментов находилась внутри FrameLayout, я снял ее, и она работает!

Комментарии:

1. Попробуйте переместить панель инструментов из FrameLayout

2. я не могу в это поверить, вы правы @PrinceAli БОЛЬШОЕ СПАСИБО