Speed Demon Speed Demon - 2 months ago 12
Android Question

Android KitKat : All my app content appears behind the ActionBar and StatusBar after changing StatusBar color

I've created a separate xml style file targeting KitKat and I've managed to change the color of the status bar. The only side-effect as seen on the picture, all the content is now moved up beneath the status bar. My question is how can I change the color of the status bar without overlaying this or how can I know the exact top margin I need to put on my content so its starts after the ActionBar and not beneath. Of course I need this to behave as expected on all screen sizes and densities. Thank you

Navigation drawer and all content appears beneath the ActionBar and Status Bar

values-v19/styles.xml

<style name="ThemeSelector" parent="android:Theme.Holo.Light">
<item name="android:actionBarStyle">@style/ActionBar</item>

<item name="android:windowTranslucentStatus">true</item>
</style>

Answer

You should add the following to the top of the view(s)

android:paddingTop="?android:attr/actionBarSize"

If you're using the Support Library for the action bar, you need to remove the android: prefix

android:paddingTop="?attr/actionBarSize"

By enabling translucent system bars, your layout will fill the area behind the system bars, so you must also enable fitsSystemWindows for the portion of your layout that should not be covered by the system bars.

Comments