jueves, diciembre 15, 2016

Hacer la barra de status transparente en Android.

Había estado luchando una semana para logra que mi actividad principal tuviera el statusBar transparente, y luego cuando el bottom sheet se expandiera cambiara de color. Probé de todo, poniendo en el tema las banderas de drawSystemBackground, translucentStatusBar, etc., no lograba lo que quería hasta que encontré este reminder de JimRobs en github


if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP){
    // Get Window
    final Window window  = getWindow();
    // Set Fullscreen
    window.getDecorView().setSystemUiVisibility(
            View.SYSTEM_UI_FLAG_LAYOUT_STABLE |
            View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
    );
    // Set status bar color
    // ! Can also be set in style resource (/res/values-v21/styles.xml)
    // @android:color/transparent
    window.setStatusBarColor(Color.TRANSPARENT);
}

Aquí la referencia a su reminder,

Este código lo agregué en el método onActivityCreated de mi fragmento.  Quedando como resultado algo así, solo que no puedo mostrar la interfaz completa. business rules :D