Android Studio 操作栏颜色不变
Posted
技术标签:
【中文标题】Android Studio 操作栏颜色不变【英文标题】:Android Studio Action Bar Color not Changing 【发布时间】:2015-04-27 12:06:12 【问题描述】:在运行 android 5.0 棒棒糖的 styles.xml 中
<resources>
<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<!-- Customize your theme here. -->
<item name="android:colorPrimary">@color/primary</item>
<item name="android:colorPrimaryDark">@color/primary_dark</item>
<item name="android:colorAccent">@color/accent</item>
<item name="android:statusBarColor">@color/primary</item>
<item name="android:colorAccent">@color/accent</item>
<item name="android:textColorPrimary">@color/primary_text</item>
<item name="android:textColor">@color/secondary_text</item>
<item name="android:navigationBarColor">@color/primary_dark</item>
</style>
当我构建并运行它时,我只会让状态栏用 colorPrimaryDark 着色,而工具栏保持黑色。如何让它变成 colorPrimary?
这是我目前得到的
https://www.dropbox.com/s/alp8d2fhzfd5g71/Screenshot_2015-02-25-21-13-01.png?dl=0
【问题讨论】:
【参考方案1】:更新:
在您的布局文件夹中创建一个名为 tool_bar.xml 的新文件并粘贴以下代码:
<?xml version="1.0" encoding="utf-8"?>
<android.support.v7.widget.Toolbar
android:layout_
android:layout_
android:background="@color/ColorPrimary"
android:elevation="2dp"
android:theme="@style/Base.ThemeOverlay.AppCompat.Dark"
xmlns:android="http://schemas.android.com/apk/res/android" />
在您的 color.xml 文件中添加这些颜色:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<color name="ColorPrimary">#00897B</color>
<color name="ColorPrimaryDark">#00695C</color>
</resources>
这是您的 styles.xml 文件的代码:
<resources>
<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
<item name="colorPrimary">@color/ColorPrimary</item>
<item name="colorPrimaryDark">@color/ColorPrimaryDark</item>
</style>
您应该将以下代码添加到您的 MainActivity.xml 文件中:
<include
android:id="@+id/tool_bar"
layout="@layout/tool_bar"
android:layout_
android:layout_ />
这种方法对我有用!
这应该会为您提供类似于结果下方的操作栏
【讨论】:
您好,但我收到“您必须使用 Appcompat 主题”错误 你在 values-21 文件夹中有另一个 styles.xml 文件吗? 操作栏消失了 @user2253899 您是否将工具栏添加到您的 activity_main.xml 文件中? 我意识到我的错误。我的其他 UI 元素阻止了它。谢谢【参考方案2】:如果你想改变 Android 应用的操作栏颜色。只要照顾好这三个文件
color.xml (定义操作栏颜色)
<color name="colorPrimary">#4613AC</color>
<color name="colorPrimaryDark">#4613AC</color>
style.xml (定义action bar的风格)
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<!-- Customize your theme here. -->
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
Manifext.xml (将操作栏应用到应用程序)
<application
android:allowBackup="true"
android:icon="@drawable/logo"
android:label="BarCode Scanner Generator"
android:largeHeap="true"
android:theme="@style/AppTheme" > //This Line apply AppTheme to your app
【讨论】:
【参考方案3】:在 style.xml 中设置 @color/carribean。这将使您的整个屏幕设置为加勒比色 - 包括操作栏。 然后在每个活动 xml 集中 - android:background="@color/white"。这会将活动保持操作栏颜色的背景更改为加勒比色。
【讨论】:
【参考方案4】:您应该创建一个如上所示的 tool_bar.xml 并复制该代码。由于您的应用程序面向 API 21,因此您应该有两个 xml 文件,其中一个是 tool_bar.xml(v21)。无论您在 (v21) xml 中使用什么代码,都决定了您的 Lollipop 设备上将显示什么。其他 xml 中的任何代码都决定了旧设备上将显示什么
【讨论】:
以上是关于Android Studio 操作栏颜色不变的主要内容,如果未能解决你的问题,请参考以下文章
android studio 3.0 hello world 之 修改系统状态栏颜色