Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/214.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 状态栏';s颜色don';t随Theme.AppCompat.Light更改_Java_Android_Material Design_Statusbar_Android Appcompat - Fatal编程技术网

Java 状态栏';s颜色don';t随Theme.AppCompat.Light更改

Java 状态栏';s颜色don';t随Theme.AppCompat.Light更改,java,android,material-design,statusbar,android-appcompat,Java,Android,Material Design,Statusbar,Android Appcompat,我尝试在我的应用程序中使用材质设计,使用浮动操作按钮,我使用appcompat-v7库。但是,为了使用它,我必须使用主题:“theme.AppCompat.Light”。我只是不能为API 22设置应用程序的背景色。我对API的20或以下版本的工作不感兴趣 在Android文档中,我只需要在Android:Theme.Material上使用colorPrimary和colorPrimaryDark 我的风格是这样的: <resources> <style na

我尝试在我的应用程序中使用材质设计,使用浮动操作按钮,我使用appcompat-v7库。但是,为了使用它,我必须使用主题:“theme.AppCompat.Light”。我只是不能为API 22设置应用程序的背景色。我对API的20或以下版本的工作不感兴趣

在Android文档中,我只需要在Android:Theme.Material上使用colorPrimary和colorPrimaryDark

我的风格是这样的:

<resources>
        <style name="AppTheme" parent="Theme.AppCompat.Light">
            <item name="android:colorPrimary">@color/primary</item>
            <item name="android:statusBarColor">@color/primary</item>
            <item name="android:colorPrimaryDark">@color/primary_dark</item>
            <item name="android:textColorPrimary">@color/primary_text</item>
            <item name="android:textColorSecondary">@color/secondary_text</item>
            <item name="android:colorAccent">@color/accent</item>
            <item name="android:textColor">@color/textColor</item>
        </style>
    </resources>

因为您使用的是支持库,所以API 7中不存在的某些属性不应该使用android名称空间,因为它们是由库提供的

<resources>
    <style name="AppTheme" parent="Theme.AppCompat.Light">
        <item name="colorPrimary">@color/primary</item>
        <item name="colorPrimaryDark">@color/primary_dark</item>
        <item name="android:textColorPrimary">@color/primary_text</item>
        <item name="android:textColorSecondary">@color/secondary_text</item>
        <item name="colorAccent">@color/accent</item>
        <item name="android:textColor">@color/textColor</item>
    </style>
</resources>

@颜色/原色
@颜色/原色/深色
@颜色/主文本
@颜色/辅助文本
@颜色/口音
@颜色/文本颜色
我忘了在colorPrimary、colorPrimaryDark和colorAccent之前加上“android:”。现在开始工作了!谢谢

<style name="AppTheme" parent="android:Theme.Material.Light">
    <item name="android:colorPrimary">@color/primary</item>
    <item name="android:colorPrimaryDark">@color/primary_dark</item>
    <item name="android:textColorPrimary">@color/primary_text</item>
    <item name="android:textColorSecondary">@color/secondary_text</item>
    <item name="android:colorAccent">@color/accent</item>
    <item name="android:textColor">@color/textColor</item>
</style>

@颜色/原色
@颜色/原色/深色
@颜色/主文本
@颜色/辅助文本
@颜色/口音
@颜色/文本颜色

在我的例子中,状态栏没有反映,因为我设置了

<item name="android:windowTranslucentStatus">true</item>
<item name="android:windowTranslucentNavigation">true</item>
true
符合事实的

删除行解决了它

改为扩展AppCompactActivity并使用Dark ThemeHi@Dr.aNdRO,我改为AppCompatActivity,改为Dark Theme,仍然是一样的=/感谢您回答@karaokyo,我开始时没有“statusBarColor”,我只是用它来尝试工作,忘记删除它。仍然不起作用=/
<item name="android:windowTranslucentStatus">true</item>
<item name="android:windowTranslucentNavigation">true</item>