Ich versuche, das Verhalten des CollapsingToolbarLayout-Elements in meiner Android-App zu optimieren.Ändern Sie den Speicherort, an dem CollapsingToolbar von Bild zu Hintergrundfarbe wechselt (Android-Entwicklung)
Mit der unten verlinkten Lösung habe ich eine zusammenklappbare Symbolleiste erstellt, die ein TabLayout und ein Hintergrundbild enthält, das verschwindet, wenn der Benutzer hochscrollt. Alles funktioniert wie erwartet, aber ich frage mich, ob ich die Position ändern kann, an der die CollapsingToolbar vom Bild zur Hintergrundfarbe wechselt.
Bei der Verwendung von Registerkarten erfolgt der Übergang von der Bild- zur Volltonhintergrundfarbe fast sofort beim Scrollen. Ohne Registerkarten tritt der Übergang der Symbolleiste erst auf, wenn die Symbolleiste fast vollständig ausgeblendet ist. Ich frage mich, ob es eine Möglichkeit gibt, den Übergang bei Verwendung von Tabs zu verzögern, damit es beim Scrollen nicht so schnell passiert.
Unten finden Sie den XML-Code für meine Symbolleisten- und Registerkartenlayouts sowie Screenshots des aktuellen und gewünschten Verhaltens.
Image: Current transition behavior (with tabs)
Image: Desired transition behavior (only achieved without using tabs)
<android.support.design.widget.AppBarLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/appbar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
android:fitsSystemWindows="true"
>
<android.support.design.widget.CollapsingToolbarLayout
android:id="@+id/collapsing_toolbar"
android:layout_width="match_parent"
android:layout_height="235dp"
app:layout_scrollFlags="scroll|exitUntilCollapsed"
app:contentScrim="?attr/colorPrimary"
android:fitsSystemWindows="true"
>
<ImageView
android:id="@+id/toolbar_image"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:scaleType="centerCrop"
android:fitsSystemWindows="true"
app:layout_collapseMode="parallax"/>
<View
android:id="@+id/toolbar_scrim"
android:layout_width="match_parent"
android:layout_height="200dp"
android:background="@drawable/scrim"
app:layout_collapseMode="pin"
android:fitsSystemWindows="true"
/>
<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="104dp"
android:gravity="top"
android:minHeight="?attr/actionBarSize"
app:layout_collapseMode="pin"
app:popupTheme="@style/ThemeOverlay.AppCompat.Light"
app:titleMarginTop="13dp"
>
<!-- app title -->
<android.support.v7.widget.AppCompatTextView
android:id="@+id/app_title"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/app_name"
android:textColor="@color/md_white_1000"
android:textSize="20sp"
android:textStyle="bold"
android:paddingBottom="2.5dp"
android:gravity="top"
/>
</android.support.v7.widget.Toolbar>
<android.support.design.widget.TabLayout
android:id="@+id/tab_layout"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:layout_gravity="bottom"
app:tabIndicatorColor="@android:color/white" />
</android.support.design.widget.CollapsingToolbarLayout>
</android.support.design.widget.AppBarLayout>
Einstürzen Symbolleiste mit Lösung Registerkarten: blog.grafixartist.com/parallax-scrolling-tabs-design-support-library/
Dies funktioniert nicht. :/Der Parallaxemultiplikator wirkt sich nur auf die Rate aus, mit der das Bild kollabiert, ändert jedoch nicht den Punkt, an dem die Symbolleiste vom Hintergrundbild in die Volltonfarbe übergeht. – micahmo