quitar - Android lollipop cambia el color de la barra de navegación
como quitar la barra de navegacion android (7)
En mi aplicación, necesito cambiar el color de la barra de navegación inferior. Vi muchas publicaciones pero no puedo encontrar la solución. Estoy usando la biblioteca appCompat.
v21 / styles.xml
<style name="AppTheme" parent="Theme.AppCompat.Light">
<item name="android:windowBackground">@drawable/bgpreview</item>
<item name="android:colorPrimary">@color/MyColor</item>
<item name="android:colorPrimaryDark">@color/MyColor</item>
<item name="android:windowContentOverlay">@null</item>
<item name="android:textColorPrimary">@color/MyColor</item>
<item name="colorAccent">@color/MyColor</item>
<!-- darker variant for the status bar and contextual app bars -->
<item name="android:windowContentTransitions">true</item>
<item name="android:windowAllowEnterTransitionOverlap">true</item>
<item name="android:windowAllowReturnTransitionOverlap">true</item>
<item name="android:windowSharedElementEnterTransition">@android:transition/move</item>
<item name="android:windowSharedElementExitTransition">@android:transition/move</item>
<item name="windowActionBar">false</item>
<item name="android:textAllCaps">false</item>
</style>
-
Crear color negro:
<color name="blackColorPrimary">#000001</color> (not #000000)
-
Escribir en estilo:
<item name="android:navigationBarColor" tools:targetApi="lollipop">@color/blackColorPrimary</item>
El problema es que la versión superior de Android es transparente para # 000000
Aquí hay algunas formas de cambiar el color de la barra de navegación.
Por el XML
1- valores-v21 / style.xml
<item name="android:navigationBarColor">@color/navigationbar_color</item>
O si desea hacerlo solo usando los valores / carpeta entonces-
2- valores / style.xml
<resources xmlns:tools="http://schemas.android.com/tools">
<item name="android:navigationBarColor" tools:targetApi="21">@color/navigationbar_color</item>
También puede cambiar el color de la barra de navegación por programación .
if (Build.VERSION.SDK_INT >= 21)
getWindow().setNavigationBarColor(getResources().getColor(R.color.navigationbar_color));
Mediante el uso de la biblioteca Compat
if (Build.VERSION.SDK_INT >= 21) {
getWindow().setNavigationBarColor(ContextCompat.getColor(this, R.color.primary));
}
encuentre el enlace para obtener más detalles: http://developer.android.com/reference/android/view/Window.html#setNavigationBarColor(int)
Puede agregar la siguiente línea en la carpeta values-v21 / style.xml :
<item name="android:navigationBarColor">@color/theme_color</item>
Puede cambiarlo directamente en el archivo styles.xml / app / src / main / res / values / styles.xml
Este trabajo en versiones anteriores, lo estaba cambiando en KitKat y vine aquí.
Se puede hacer dentro de styles.xml usando
<item name="android:navigationBarColor">@color/theme_color</item>
o
window.setNavigationBarColor(@ColorInt int color)
http://developer.android.com/reference/android/view/Window.html#setNavigationBarColor(int)
Tenga en cuenta que el método se introdujo en Android Lollipop y no funcionará en la versión API <21.
El segundo método (funciona en KitKat) es establecer windowTranslucentNavigation en true en el manifiesto y colocar una vista en color debajo de la barra de navegación.
También puede modificar su tema usando el Editor de temas haciendo clic en:
Herramientas -> Android -> Editor de temas
Entonces, ni siquiera necesita poner contenido adicional en sus archivos .xml o .class.
Aquí está cómo hacerlo programáticamente:
if (android.os.Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
getWindow().setNavigationBarColor(getResources().getColor(R.color.your_awesome_color));
}
Usando la biblioteca Compat:
if (android.os.Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
getWindow().setNavigationBarColor(ContextCompat.getColor(this, R.color.primary));
}
Aquí se explica cómo hacerlo con xml en la carpeta values-v21 / style.xml:
<item name="android:navigationBarColor">@color/your_color</item>