studio personalizar oreo notificaciones navegacion estado como color cambiar barra android statusbar

android - personalizar - como cambiar el color del panel de notificaciones



Cómo cambiar el color de fondo de la barra de estado de Android (4)

En styles.xml haz esto:

<resources> <!-- Base application theme. --> <style name="AppTheme" parent="Theme.AppCompat.Light"> <item name="colorPrimary">@color/color_primary</item> <item name="colorPrimaryDark">@color/color_secondary</item> <item name="colorAccent">@color/color_accent</item> <!---Below is the code for status bar color------> <item name="android:statusBarColor">@color/color_primary</item> </style> </resources>

Coloque esto en sus valores-v21 / styles.xml, para habilitarlo en Lollipop y más adelante.

Para hacerlo programáticamente haz esto:

Window window = activity.getWindow(); window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS); window.clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS); window.setStatusBarColor(activity.getResources().getColor(R.color.example_color));`

Quiero cambiar el color de fondo de la barra de estado escribiendo una aplicación. Mi dispositivo Android tiene color negro, quiero cambiarlo a otro color. Vi algunas publicaciones relacionadas con esto aquí, pero están informando sobre el fondo de notificación.

Si alguien sabe esto, por favor ayúdame.

La barra de estado por defecto

Después de usar un dibujo como fondo a la barra de estado


Esto es posible en Kitkat y después.

Si desea usarlo en una aplicación (como solicitó), puede usar esta biblioteca https://github.com/jgilfelt/SystemBarTint

Solo necesitas escribir:

// set a custom tint color for all system bars tintManager.setTintColor(Color.parseColor("#99000FF")); // set a custom navigation bar resource tintManager.setNavigationBarTintResource(R.drawable.my_tint); // set a custom status bar drawable tintManager.setStatusBarTintDrawable(MyDrawable);


Lo sentimos, a menos que esté creando una ROM personalizada, esto no es posible, a menos que solo desee cambiar la barra de estado de su aplicación.

Esto requeriría un montón de mucho trabajo.

Primero deberá agregar Theme.NoTitleBar.Fullscreen a su manifiesto

<application android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@android:style/Theme.NoTitleBar.Fullscreen" >

Luego, una vez que haya hecho eso, necesita crear un diseño estándar que represente la barra de estado, esto significaría que debe agregar el tiempo y también recibir todas las notificaciones de otras aplicaciones, no sé personalmente cómo hacerlo, pero Estoy seguro de que hay una manera

Si realmente quieres hacer esta buena suerte, tienes un tiempo difícil por delante.

Lo siento, a menos que tenga el conocimiento de cómo crear ROMS personalizados, no creo que esto sea posible


Si desea actualizar el color de la barra de estado en Lollipop sin actualizar su ADT y SDK y todas esas cosas relacionadas, puede usar reflexiones para alcanzar los métodos de API 21 (Lollipop) y superiores

en tu actividad:

if (Build.VERSION.SDK_INT >= 21) { Window window = getWindow(); // original code, works on Lollipop SDKs // window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS); // window.clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS); // window.setStatusBarColor(getResources().getColor(YOUR_COLOR)); try { // to work on old SDKs int FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS = 0x80000000; window.addFlags(FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS); window.clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS); Class<?> cls = window.getClass(); Method method = cls.getDeclaredMethod("setStatusBarColor", new Class<?>[] { Integer.TYPE }); method.invoke(window, Res.color(theme.statusColor)); } catch (Exception e) { // upgrade your SDK and ADT :D } }

mi API mínimo actual es 15, si no puedes encontrar

WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS

en su SDK, puede obtener su valor de la documentación como lo hice con

WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS

Espero que esto haya ayudado