No estoy seguro de qué nivel de API está tratando de apuntar, pero si puede usar cosas específicas de API 23, puede agregar lo siguiente a su AppTheme styles.xml:
<item name="android:statusBarColor">@color/colorPrimaryDark</item>
<item name="android:windowLightStatusBar">true</item>
cuando android:windowLightStatusBar
se establece en verdadero, el color del texto de la barra de estado se podrá ver cuando el color de la barra de estado sea blanco, y viceversa cuando android:windowLightStatusBar
se establezca en falso, el color del texto de la barra de estado se diseñará para verse cuando el color de la barra de estado sea oscuro.
Ejemplo:
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>
<item name="android:statusBarColor">@color/colorPrimaryDark</item>
<item name="android:windowLightStatusBar">true</item>
</style>
puedes hacerlo programáticamente como esta respuesta
solo agrega esto
getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR);
fuente
es muy simple:
getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR);// set status text dark getWindow().setStatusBarColor(ContextCompat.getColor(BookReaderActivity.this,R.color.white));// set status background white
y viceversa:
getWindow().setStatusBarColor(ContextCompat.getColor(BookReaderActivity.this, R.color.black)); View decorView = getWindow().getDecorView(); //set status background black decorView.setSystemUiVisibility(decorView.getSystemUiVisibility() & ~View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR); //set status text light
fuente
Como en el caso anterior, SYSTEM_UI_FLAG_LIGHT_STATUS_BAR hace el trabajo en mi caso, no olvide configurarlo para una API 22.
agregue esto para oncreate después de setContentView:
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR); }
fuente
getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR);// set status text dark getWindow().setStatusBarColor(ContextCompat.getColor(MainActivity.this,R.color.colorPrimaryDark));// set status background white
Esto funciona para mi
fuente
Pruebe esto una vez.
En tu
onCreate()
método de actividad , pega el siguiente código.try { if (android.os.Build.VERSION.SDK_INT >= 21) { Window window = getWindow(); window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS); window.setStatusBarColor(ContextCompat.getColor(this, R.color.color_red)); } } catch (Exception e) { e.printStackTrace(); }
Nota: color_red: es el color de la barra de estado.
fuente
En su
onCreate()
método de actividad , pegue el siguiente código después de lasetContentView(R.layout.activity_generic_main);
Aquí está el código de muestra a continuación.
public class GenericMain extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_generic_main); getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR); } }
fuente
Prueba esto si no es la página de bienvenida
fuente