2015-10-06 64 views
4

我现在尝试几个小时来更改位于操作栏顶部的系统设置菜单的背景颜色。我搜索堆栈溢出和谷歌,但我只找到有关操作栏本身的答案。请参阅图片以获得额外的说明。就像Gmail应用程序一样,我想将颜色更改为深红色。可以有一个邮政编码如何实现?此外,图片中蓝色突出显示部分的实际名称是什么?更改操作栏上方系统设置菜单的背景颜色

谢谢!

enter image description here

+1

您的主题是否包含后续项目 ...','colorPrimaryDark'适用于您的状态栏 –

+1

仅支持API +21 – Amir

回答

4

这区域称为状态栏。使用材质主题,您可以将此线添加到您的样式xml中以更改颜色。

<item name="android:colorPrimaryDark">@color/primary_dark</item> 

文档:https://developer.android.com/training/material/theme.html

为了保持兼容性,你应该定义你的主题这样

<!-- extend one of the Theme.AppCompat themes --> 
<style name="Theme.MyTheme" parent="Theme.AppCompat.Light"> 
    <!-- customize the color palette --> 
    <item name="colorPrimary">@color/primary</item> 
    <item name="colorPrimaryDark">@color/primary_dark</item> 
    <item name="colorAccent">@color/accent</item> 
</style> 

然后在您的build.gradle文件中添加这种依赖性

dependencies { 
    compile 'com.android.support:appcompat-v7:21.0.+' 
} 

文档:https://developer.android.com/training/material/compatibility.html

注意:虽然这将允许较旧的设备使用Material主题,但它不能修改状态栏颜色。看到这个blog post

有几个变通方法,人们纷纷拿出here

+0

这是唯一可用的解决方案吗?我的应用目标设备的API级别为15+。我发现这个答案只适用于API级别为21+以上的设备。 – TheHagueCoder

+0

@TheHagueCoder尝试使用'colorPrimaryDark'而不是'android:colorPrimaryDark'。 'colorPrimaryDark'绝对可用于API 21 –

+0

只需添加最后一条语句:您必须包含['appcompat'](https://developer.android.com/tools/support-library/features.html#v7 -appcompat)当然是依赖的。 –

1

为了支持预棒棒糖设备,你需要添加添加像下面Appcombat V7 21的编译依赖性:

dependencies { 
    compile fileTree(dir: 'libs', include: ['*.jar']) 
    compile 'com.android.support:appcompat-v7:21.0.3' 
}