Ich habe ein Layout basierend auf Ansichten (keine Fragmente, eine Aktivität) und animiere zwischen verschiedenen Zuständen. Für eine bessere Laufruhe benutze ich zwei Symbolleisten und überbleiche sie.Gesperrte Ansichten zurücksetzen
Das Problem ist, dass, wenn ich die Navigationsschaltfläche einer Symbolleiste drücken und die Überblendanimation starten, die Navigationsschaltfläche nicht den Zustand der Presse (wahrscheinlich aufgrund der Animation) wiederherstellen, was dazu führt, dass der Selektor nicht verschwindet ... Wenn ich nun diese Werkzeugleiste wieder anzeige, sieht die Navigationsschaltfläche gedrückt aus (die Ripple-Zeichen sind weiterhin sichtbar).
Kann ich die Ripple-Animation manuell löschen?
Was ich versucht
ich die Symbolleiste Navigationsansicht erhalten wie folgt: Get Toolbar's navigation icon view referrence
- Ich habe versucht, die Animation der Ansicht gelöscht werden: Durch
toolbarNavigationView.clearAnimation()
- Ich versuchte, die ziehbar mit
ViewCompat.jumpDrawablesToCurrentState(toolbarNavigationView);
Zurücksetzen Ich habe versucht, dies in der Symbolleiste, um sicherzustellen, dass die Layou t legte sich wie folgt:
toolbar.post(new Runnable() { @Override public void run() { ViewCompat.jumpDrawablesToCurrentState(toolbarNavigationView); } });