Android 开发 - 状态栏未显示在 Lollipop 之前的版本 (AppCompat)
Android development - Status Bar not showing on pre Lollipop (AppCompat)
我正在使用 appcompat v21.0.3 开发我的应用程序并在 API 21 android 5.0 版上进行测试。1.Today 我决定使用 [= 在平板电脑上测试该应用程序20=] 4.4.2,一切正常,但我确实注意到状态栏已变得透明并掉落到工具栏。我附上了图片,希望对您有所帮助。
P.S
抱歉我的英语不好,我用 google 翻译器来制作这篇文章:)
看起来像这样
http://i.imgur.com/Q0dLqzM.png
但应该看起来像这样
http://i.imgur.com/V5uMgMf.jpg
在您的应用中添加此代码 style.xml。
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<!-- Customize your theme here. -->
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorPrimary">@color/primarycolor</item>
<item name="android:textSize">24sp</item>
<item name="android:actionBarTabStyle">@color/Textcolor</item>
</style>
在你的清单中替换
android:theme="@style/AppTheme"
和
android:theme="@style/Theme.AppCompat.Light.NoActionBar"
在 Main Activity 中使用以下代码为状态栏指定颜色。
if (android.os.Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
Window window = this.getWindow();
window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);
window.clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
window.setStatusBarColor(this.getResources().getColor(R.color.main_red_dark));
}
当然,这只是一种方式。我不是 100% 确定,您实际上在哪里更改状态栏的代码。必须要做。
我正在使用 appcompat v21.0.3 开发我的应用程序并在 API 21 android 5.0 版上进行测试。1.Today 我决定使用 [= 在平板电脑上测试该应用程序20=] 4.4.2,一切正常,但我确实注意到状态栏已变得透明并掉落到工具栏。我附上了图片,希望对您有所帮助。 P.S 抱歉我的英语不好,我用 google 翻译器来制作这篇文章:)
看起来像这样 http://i.imgur.com/Q0dLqzM.png 但应该看起来像这样 http://i.imgur.com/V5uMgMf.jpg
在您的应用中添加此代码 style.xml。
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<!-- Customize your theme here. -->
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorPrimary">@color/primarycolor</item>
<item name="android:textSize">24sp</item>
<item name="android:actionBarTabStyle">@color/Textcolor</item>
</style>
在你的清单中替换
android:theme="@style/AppTheme"
和
android:theme="@style/Theme.AppCompat.Light.NoActionBar"
在 Main Activity 中使用以下代码为状态栏指定颜色。
if (android.os.Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
Window window = this.getWindow();
window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);
window.clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
window.setStatusBarColor(this.getResources().getColor(R.color.main_red_dark));
}
当然,这只是一种方式。我不是 100% 确定,您实际上在哪里更改状态栏的代码。必须要做。