Мне нужно было заставочное изображение, которое выглядело как начальная активность моего приложения и сталкивалось с той же проблемой.Мне повезло с windowContentOverlay вместо windowBackground.Drawable появился под строкой состояния в том же положении, что и реальный макет.Он работал на Android 2.2, Android 3.0 и Android 4.1.
Это мой стиль:
<style name="SplashTheme" parent="android:style/Theme.Light">
<item name="android:windowNoTitle">true</item>
<item name="android:windowContentOverlay">@drawable/splash</item>
</style>
Мой отрисовочный файл splash.xml имитирует заголовок моего пользовательского интерфейса, используя layer-list:
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<!--- Background; tile is broken on Android 2.2 so just have super wide background that will get clipped -->
<item>
<bitmap android:gravity="top|left" android:src="@drawable/splash_background" />
</item>
<!--- Icon left justified -->
<item>
<bitmap android:gravity="top|left" android:src="@drawable/header_icon" />
</item>
<!--- Buttons/etc right justified -->
<item>
<bitmap android:gravity="top|right" android:src="@drawable/splash_buttons" />
</item>
</layer-list>
Я считаю, что ActionBar также имеет несколько встроенных способов справиться с этим, если ваше приложение использует его.Образец MonoIO , похоже, имеет такой образ запуска.