Piszę prostą aplikację, która implementuje materiał projektowania zgodnego nav szufladę w sposób opisany w niniejszym poście stosu: https://stackoverflow.com/a/27153313/1621380Animacja Pasek stanu Kolor na DrawerLayout - Materiał Projekt
ScrimInsetsFrameLayout
działa świetnie i wszystko jest dandys dopóki nie próbują aby programowo zmienić kolor paska stanu. Moja aplikacja wykorzystuje interfejs API Palette do dynamicznej zmiany paska narzędzi i paska stanu.
Używam property animation api do animowania paska narzędzi i działa świetnie! ale staram się zrobić tę samą animację na pasku stanu i wydaje się, że nie chce ona animować. Oto przykład
Oto kod dla mojego animator:
public static void fadeStatusBar(final DrawerLayout layout, Integer from, Integer to) {
if(android.os.Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
ValueAnimator colorAnimation = ValueAnimator.ofObject(new ArgbEvaluator(), from, to);
colorAnimation.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
@Override
public void onAnimationUpdate(ValueAnimator animator) {
layout.setStatusBarBackgroundColor((Integer) animator.getAnimatedValue());
}
});
colorAnimation.start();
}
}
Uwaga: Ten sam kod jest blaknięcie pasek, więc jej udowodnione do pracy.
Moje pytanie brzmi; czy ktoś wie, w jaki sposób uzyskać płynne przejście przy użyciu DrawerLayout.setStatusBarBackgorundColour()
?
. Uwaga: Użyłem metody Okno window.setStatusBarColor()
metody i animuje w porządku, ale łamie „przezroczysty pasek stanu”, gdy NavDrawer jest ciągnięty w
Uwaga istnieje również metoda pomocnika [ValueAnimator.ofArgb()] (http://developer.android.com/reference/android/animation/ValueAnimator.html#ofArgb (int ...)) – ianhanniballake
[DrawerLayout] (https: //github.com/android/platform_frameworks_support/blob/lollipop-release/v4/java/android/support/v4/widget/DrawerLayout.java # L1019) oblicza górną część i rysuje tło paska stanu. Musisz tylko wywołać 'View.invalidate', aby wymusić odświeżenie podczas aktualizacji animacji. – adneal
@adneal To było wspaniałe i działało jak czar! Dziękujemy – Spittal