Android开发 - 状态栏未显示在Lollipop前(AppCompat)

时间:2015-07-20 13:12:04

标签: android android-5.0-lollipop statusbar android-appcompat android-4.4-kitkat

我正在使用appcompat v21.0.3开发我的应用程序并在API 21 android ver 5.0.1上进行测试。今天我决定使用Android 4.4.2在平板电脑上测试应用程序,一切都会好的但我确实注意到了状态栏已变为透明并已删除到工具栏。我附上照片,希望对你有所帮助。 P.S 对不起我的英文,我使用谷歌翻译来制作这个文本:)

看起来像这样 http://i.imgur.com/Q0dLqzM.png 但应该看起来像这样 http://i.imgur.com/V5uMgMf.jpg

2 个答案:

答案 0 :(得分:0)

在app 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>

答案 1 :(得分:0)

在你的manfest中替换

android:theme="@style/AppTheme"

android:theme="@style/Theme.AppCompat.Light.NoActionBar"

使用以下代码将主要活动指定为状态栏的颜色。

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%肯定,你实际上在改变状态栏的代码。必须要这样做。