android - Cambia el color de la barra de estado al ingresar al modo de acción contextual
themes contextual-action-bar (1)
private int statusBarColor;
@Override
public boolean onCreateActionMode(ActionMode mode, Menu menu) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
//hold current color of status bar
statusBarColor = getWindow().getStatusBarColor();
//set your gray color
getWindow().setStatusBarColor(0xFF555555);
}
...
}
...
@Override
public void onDestroyActionMode(ActionMode mode) {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
//return to "old" color of status bar
getWindow().setStatusBarColor(statusBarColor);
}
...
}
});
Tengo una aplicación que usa el atributo de tema (colorPrimaryDark) para colorear la barra de estado en Android v21 +:
Esto está funcionando bien. Ahora, cuando el usuario presiona un elemento de la lista y entra en el modo de acción contextual, puedo colorear la barra CAB usando el atributo actionModeBackground para que se vea así:
Así que la barra de acción es gris, que es lo que quiero, pero la barra de estado todavía está coloreada usando el color oscuro del tema . No quiero eso, quiero cambiarlo a gris oscuro o negro.
¿Cómo puedo hacer esto? No veo ningún atributo de tema que funcione aquí.