Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/225.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
Android 应用程序在尝试更改状态栏颜色时崩溃_Android - Fatal编程技术网

Android 应用程序在尝试更改状态栏颜色时崩溃

Android 应用程序在尝试更改状态栏颜色时崩溃,android,Android,Im使用以下代码更改状态栏的颜色。当我尝试这样做时,应用程序崩溃了 Window window = getWindow(); window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS); window.clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS); window.setStatusBarColor(getApplicati

Im使用以下代码更改状态栏的颜色。当我尝试这样做时,应用程序崩溃了

Window window = getWindow();
window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);
window.clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
window.setStatusBarColor(getApplicationContext().getResources().getColor(Color.BLUE));
getColor(Color.BLUE)
getColor采用资源标识符,即
R.Color.BLUE
不是静态的
Color
常量

参考:

由aapt工具生成的所需资源标识符。这个整数对包、类型和资源条目进行编码。值0是无效的标识符


现在也不推荐使用此方法,建议您使用兼容性
getColor

请输入此代码

if (Build.VERSION.SDK_INT > Build.VERSION_CODES.KITKAT) {
    Window window = getWindow();
    window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);
    window.clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
    window.setStatusBarColor(getResources().getColor(R.color.textblue));
}

你可以发布日志吗..如何在非活动类中使用它