android android-actionbar actionbarsherlock

Barra de estado de Android superpuesta con ActionBar



android-actionbar actionbarsherlock (4)

¿Por qué no lo haces en el Manifiesto?

android:theme="@android:style/Theme.Black.NoTitleBar"

Que no tienes barra de estado y más espacio para la barra de acción?

Sé que puedo hacer la superposición de la barra de acción utilizando requestFeature(Window.FEATURE_ACTION_BAR_OVERLAY)
y puedo alternar / mostrar la barra de estado en mi pantalla (cambiando entre FLAG_FULLSCREEN y FLAG_FORCE_NOT_FULLSCREEN ).
Esto funciona muy bien. Sin embargo, no quiero que mi diseño se mueva cuando alterno la barra de estado.

Sé que puedo hacer que la barra de estado "superponga" (aunque no de forma transparente) el contenido utilizando:

WindowManager.LayoutParams.FLAG_LAYOUT_IN_SCREEN WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS

Esto también funciona muy bien, excepto por la consecuencia (esperada) de que, al usar una barra de acción, la barra de acción se corta a medias, la mitad está debajo de la barra de estado básicamente.

Así que me pregunto, ¿hay una manera de "mover la barra de acción hacia abajo" en la altura de la barra de estado en este caso?
Sé que, en el peor de los casos, puedo hacer esto con una vista personalizada que se encuentra dentro del diseño, pero prefiero no hacerlo (quiero beneficiarme de la barra de acción).

¡Gracias!


No es perfecto, pero así es como he logrado lo que quieres:

En onCreate:

getWindow (). setFlags (WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);

Entonces:

private void hideStatusBar() { getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN); getWindow().addFlags(WindowManager.LayoutParams.FLAG_LAYOUT_IN_SCREEN); } private void showStatusBar() { getWindow().clearFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN); }

También tengo un estilo en la actividad con lo siguiente:

<style name="readingStyle" parent="@style/Theme.Sherlock"> <item name="android:windowActionBarOverlay">true</item> <item name="windowActionBarOverlay">true</item> </style>

Su actividad cambiará hacia abajo cuando se muestre la barra de estado, pero no creo que sea demasiado notable.


Ponga este método en la actividad del método onCreate ():

getWindow().getDecorView().setSystemUiVisibility( View.SYSTEM_UI_FLAG_LAYOUT_STABLE | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN);

referir: link