我在某些应用程序中看到状态栏颜色可以更改并与api级别21中的匹配进行匹配。
我搜索并找到了这个解决方案 Source
<style name="Theme.MyTheme" parent="Theme.AppCompat.Light">
<!-- Set AppCompat’s color theming attrs -->
<item name="colorPrimary">@color/my_awesome_red</item>
<item name="colorPrimaryDark">@color/my_awesome_darker_red</item>
<!-- Other attributes -->
</style>
但它不起作用
这是我的样式代码
<style name="ToolbarTheme" parent="Theme.AppCompat">
<item name="android:windowNoTitle">true</item>
<item name="windowActionBar">false</item>
<item name="colorPrimary">@color/ColorPrimary</item>
<item name="colorPrimaryDark">@color/ColorPrimaryDark</item>
</style>
答案 0 :(得分:-1)
如果您的意思是AcionBar的颜色,您可以使用以下代码以编程方式更改颜色:
getSupportActionBar().setBackgroundDrawable(new Color.Drawable(Color.rgb(120,0,47)));
更改数字以选择您自己的颜色。
答案 1 :(得分:-1)
StatusBar仅适用于API级别超过21的设备。如果您的最低API级别低于此级别,则必须对Java源文件进行一些更改。转到要添加状态栏颜色的源文件。然后使用注释OnCreate()
包装@TargetApi(Build.VERSION_CODES.LOLLIPOP)
方法。
然后在方法内部,您必须检查设备是否有能力,如下所示。
if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
window.setStatusBarColor(getResources().getColor(R.color.Statusbar));
}
希望它有效.. !!