Сворачивающаяся панель инструментов не закрепляет представление карты - PullRequest
0 голосов
/ 25 мая 2020

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

Однако я хочу добавить вид карты внутри сворачивающейся панели инструментов и закрепить его, используя режим сворачивания. Не удается закрепить после прокрутки вверх. Понятия не имею, что я сделал не так. Кто-нибудь может помочь?

Вот мой 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">


    <com.google.android.material.appbar.AppBarLayout

        android:id="@+id/appbar"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="#00FFFFFF">


        <com.google.android.material.appbar.CollapsingToolbarLayout
            android:id="@+id/collapsingtoolbar"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            app:layout_scrollFlags="scroll|exitUntilCollapsed">


            <androidx.cardview.widget.CardView
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                app:layout_collapseMode="pin">

                //textview
            </androidx.cardview.widget.CardView>
            <ImageView
                        android:id="@+id/imageView7"
                        android:layout_width="360dp"
                        android:layout_height="360dp"
                        android:scaleType="centerCrop"
                        app:srcCompat="@drawable/logo"
                        tools:srcCompat="@drawable/logo" />




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

    <androidx.core.widget.NestedScrollView
        android:id="@+id/scrollview"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:fillViewport="false"
        android:overScrollMode="always"
        app:layout_behavior="com.google.android.material.appbar.AppBarLayout$ScrollingViewBehavior">

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:orientation="vertical">


            //my content
        </LinearLayout>
    </androidx.core.widget.NestedScrollView>


</androidx.coordinatorlayout.widget.CoordinatorLayout>

1 Ответ

0 голосов
/ 25 мая 2020

Насколько мне известно, внутри CollapsingToolbarLayout можно закрепить только Toolbar. Все остальное рушится. Таким образом, вы либо помещаете свой макет, который хотите закрепить, внутри макета панели инструментов (не рекомендуется, изменится размер панели инструментов и положения кнопок навигации и т. Д. c.), Либо вы переместите его за пределы CollapsingToolbar.

Просто помните, что AppBarLayout действует как вертикальный LinearLayout.

Одна из возможных идей, если дизайн позволяет это, - удалить CollapsingToolbarLayout и попытаться создать свой пользовательский интерфейс внутри AppBarLayout. Вы можете контролировать, что уходит, а что остается, используя layout_scrollFlags.

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