Sie können hinzufügen, OnOffsetChangedListener
um AppBarLayout
zu bestimmen, wann CollapsingToolbarLayout
es reduziert oder erweitert wird, und den Titel festlegen.
Java
final CollapsingToolbarLayout collapsingToolbarLayout = (CollapsingToolbarLayout) findViewById(R.id.collapsingToolbarLayout);
AppBarLayout appBarLayout = (AppBarLayout) findViewById(R.id.appBarLayout);
appBarLayout.addOnOffsetChangedListener(new AppBarLayout.OnOffsetChangedListener() {
boolean isShow = true;
int scrollRange = -1;
@Override
public void onOffsetChanged(AppBarLayout appBarLayout, int verticalOffset) {
if (scrollRange == -1) {
scrollRange = appBarLayout.getTotalScrollRange();
}
if (scrollRange + verticalOffset == 0) {
collapsingToolbarLayout.setTitle("Title");
isShow = true;
} else if(isShow) {
collapsingToolbarLayout.setTitle(" ");//careful there should a space between double quote otherwise it wont work
isShow = false;
}
}
});
Kotlin
var isShow = true
var scrollRange = -1
appBarLayout.addOnOffsetChangedListener(AppBarLayout.OnOffsetChangedListener { barLayout, verticalOffset ->
if (scrollRange == -1){
scrollRange = barLayout?.totalScrollRange!!
}
if (scrollRange + verticalOffset == 0){
collapsingToolbarLayout.title = "Title Collapse"
isShow = true
} else if (isShow){
collapsingToolbarLayout.title = " " //careful there should a space between double quote otherwise it wont work
isShow = false
}
})
Ich habe Dlohanis Lösung ausprobiert, aber es hat mir wegen des Ausblendens nicht gefallen. Mit dieser Lösung entfernen Sie das Ausbleichen vollständig.
Der Trick besteht darin, einen neuen Stil mit textSize gleich 0.1sp oder 0sp (dieser stürzt im SDK <19 ab) und textColor transparent zu erstellen:
Für SDK <19
Für SDK> = 19
Wenden Sie es dann auf das CollapsingToolbarLayout in Ihrem Layout an:
quelle
Ich konnte den gewünschten Effekt erzielen, indem ich dem XML-Layout die folgende Eigenschaft hinzufügte:
Mein CollapsingToolbarLayout sieht also so aus
quelle
Ich habe eine einfachere Antwort:
Viel Spaß beim Codieren!
quelle
mCollapsingToolbarLayout.setExpandedTitleColor(Color.argb(255,0,0,0))
Dieser Code funktioniert für mich: Verwenden Sie color.parse color, denn wenn Ihre Hintergrundfarbe unterschiedlich ist, ersetzen Sie sie durch Weiß und Ihr Titel wird nicht angezeigt
Oder Sie können für transparent verwenden
collapsingToolbarLayout.setExpandedTitleColor(Color.TRANSPARENT);
quelle
Ich habe erfolgreich eine verblassende Textansicht hinzugefügt, einfach eine Textansicht in die Symbolleiste eingefügt und deren Alpha basierend auf dem VerticalOffset im Appbar-Rückruf festgelegt
quelle
Hier die einfachste und funktionierendste Lösung auch mit API 23:
app: expandTitleTextAppearance muss TextAppearance erben.
Fügen Sie also in Ihrer styles.xml die folgenden Zeilen hinzu:
Fügen Sie dann in Ihrem CollapsingToolbarLayout diese Zeile hinzu.
Das war's Leute!
quelle
Die folgende Lösung funktioniert einwandfrei.
quelle
Hier ist meine Lösung:
quelle
In meiner Meinung wäre eine etwas elegantere Lösung so etwas.
Und die Nutzung würde ungefähr so aussehen
Es besteht auch die Möglichkeit, Text auszublenden, anstatt ihn nur ein- oder auszublenden.
quelle
Das funktioniert bei mir.
quelle
Dies ist die Kotlin-Version, die für mich funktioniert:
quelle
Fügen Sie einfach diesen Code hinzu:
quelle