Ich benutze CollapsingToolBarLayout
zusammen mit AppBarLayout
und CoordinatorLayout
, und sie funktionieren insgesamt gut. Ich habe festgelegt, dass mein Toolbar
Fehler behoben werden soll, wenn ich nach oben scrolle. Ich möchte wissen, ob es eine Möglichkeit gibt, den Titeltext der Symbolleiste zu ändern, wenn CollapsingToolBarLayout
er reduziert ist.
Zum Abschluss möchte ich zwei verschiedene Titel, wenn sie gescrollt und erweitert werden .
Vielen Dank im Voraus
android
android-design-library
android-collapsingtoolbarlayout
Anaximandro Andrade
quelle
quelle
Diese Lösung funktioniert perfekt für mich, um
AppBarLayout
kollabierte oder erweiterte zu erkennen .Wird
addOnOffsetChangedListener
auf dem verwendetAppBarLayout
.quelle
Haken Sie ein
OnOffsetChangedListener
an IhrAppBarLayout
. Wenn derverticalOffset
Wert 0 oder weniger als dieToolbar
Höhe erreicht, bedeutet dies, dass CollapsingToolbarLayout reduziert wurde, andernfalls wird es erweitert oder erweitert.quelle
appBarLayout.getVerticalOffset()
Methode befindet, können Sie aufrufenappBarLayout.getY()
, um denselben Wert abzurufen, der im Rückruf verwendet wird.appBarLayout.getY()
kann es sein, dassverticalOffset = appBarLayout.getY() + statusBarHeight
Dieser Code hat bei mir funktioniert
quelle
quelle
Sie können den Alpha-Prozentsatz für CollapsingToolBar wie folgt ermitteln:
Als Referenz: Link
quelle
verticalOffset
Pixelabstands bereitstellen sollen .Hier ist eine Kotlin- Lösung. Fügen Sie ein
OnOffsetChangedListener
zum hinzuAppBarLayout
.Methode A:
Fügen Sie
AppBarStateChangeListener.kt
Ihrem Projekt hinzu:Fügen Sie den Listener zu Ihrem hinzu
appBarLayout
:Methode B:
quelle
Diese Lösung funktioniert für mich:
Verwenden Sie addOnOffsetChangedListener im AppBarLayout.
quelle
Wenn Sie CollapsingToolBarLayout verwenden, können Sie dies einfügen
quelle
Dieser Code funktioniert perfekt für mich. Sie können die prozentuale Skala verwenden, wie Sie möchten
quelle
Mein Versatzwert in der Symbolleiste wird beim Reduzieren -582 beim Erweitern = 0 angezeigt. Ich finde den Wert also, indem ich den Versatzwert in Toast einstelle und den Code entsprechend ändere.
quelle