Android Studio操作栏颜色不改变

5

在运行安卓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
4个回答

9

更新:

在您的布局文件夹中创建一个名为tool_bar.xml的新文件,并粘贴以下代码:

<?xml version="1.0" encoding="utf-8"?>
<android.support.v7.widget.Toolbar
    android:layout_height="wrap_content"
    android:layout_width="match_parent"
    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_height="wrap_content"
    android:layout_width="match_parent" />

这种方法对我有用!

这应该会给你一个看起来像下面结果中的那个actionbar

enter image description here


嗨,但我遇到了“必须使用Appcompat主题”的错误。 - user2253899
你在values-21文件夹中有另一个styles.xml文件吗? - edwinj
标题栏刚刚消失了。 - user2253899
@user2253899 你是否已将工具栏添加到你的 activity_main.xml 文件中? - edwinj
1
我意识到了我的错误。我的其他UI元素正在阻塞它。谢谢。 - user2253899
这个codelabs说你可以不用Toolbar hack来实现:https://developer.android.com/codelabs/basic-android-kotlin-training-change-app-theme?continue=https%3A%2F%2Fdeveloper.android.com%2Fcourses%2Fpathways%2Fandroid-basics-kotlin-unit-2-pathway-2%23codelab-https%3A%2F%2Fdeveloper.android.com%2Fcodelabs%2Fbasic-android-kotlin-training-change-app-theme#3 但是它并不起作用... - John Glen

1
如果您想更改Android应用程序的操作栏颜色,请注意这3个文件。 color.xml (定义操作栏颜色)
<color name="colorPrimary">#4613AC</color>
<color name="colorPrimaryDark">#4613AC</color>
(定义操作栏的样式),保留HTML。
<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

0
在style.xml中设置@color/carribean。这将使您的整个屏幕都设置为加勒比海颜色 - 包括操作栏。 然后在每个活动xml中设置 - android:background="@color/white"。这将更改活动的背景,同时保持操作栏颜色为加勒比海。

0

你应该创建一个像上面展示的 tool_bar.xml 文件,并将其复制。由于你的应用程序目标为 API 21,所以你应该拥有两个 xml 文件,其中一个是 tool_bar.xml(v21)。无论在 (v21) 的 xml 中有什么代码都决定了在你的 Lollipop 设备上显示什么。另一个 xml 中的代码决定了旧设备上显示什么。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接