Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/powershell/11.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_Android Actionbar - Fatal编程技术网

Android操作栏背景色

Android操作栏背景色,android,android-actionbar,Android,Android Actionbar,我已经看过android文档和其他示例,但仍然无法让我的动作栏风格发挥作用。我已经在android清单中将我的主题设置为“AppTheme”,但背景颜色不会改变 以下是my styles.xml: <!-- Base application theme. --> <style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar"> <!-- Customize your theme here

我已经看过android文档和其他示例,但仍然无法让我的动作栏风格发挥作用。我已经在android清单中将我的主题设置为“AppTheme”,但背景颜色不会改变

以下是my styles.xml:

<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
    <!-- Customize your theme here. -->
    <item name="android:actionBarStyle">@style/ActionBarTheme</item>
</style>

<style name="ActionBarTheme" parent="Widget.AppCompat.Light.ActionBar.Solid.Inverse">
    <item name="android:background">#9D0D0D</item>
    <item name="background">#9D0D0D</item>
</style>
为什么android不允许项目名称为“background”的颜色,但允许项目名称为“android:background”的颜色?还有什么可能出错的吗?

请尝试以下代码:

<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
        <!-- Customize your theme here. -->
        <item name="colorPrimaryDark">@color/primaryDarkColorActionBar</item>
        <item name="colorPrimary">@color/primaryColorActionBar</item>
</style>

@颜色/原色暗色分色栏
@颜色/primaryColorActionBar

此外,ActionBarActivity在最新的appcompat更新(即22.1.1)中被弃用。因此,最好改用AppCompativeActivity(如果您尚未使用它)。

在Astrount的回答中添加:

<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
        <!-- Customize your theme here. -->
        <item name="colorPrimaryDark">@color/primaryDarkColorActionBar</item>
        <item name="colorPrimary">@color/primaryColorActionBar</item>
</style>
在您放置工具栏的布局中:

<android.support.design.widget.AppBarLayout 
    android:layout_width="match_parent"
    android:layout_height="wrap_content">

<android.support.v7.widget.Toolbar
    android:id="@+id/toolbar"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:minHeight="?attr/actionBarSize"
    android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"/>

</android.support.design.widget.AppBarLayout>


这将自动设置工具栏的样式。确保使用Android SDK管理器更新到最新的支持库SDK。

解决方案1: 您可以通过Java来实现。只需在setContentView之后使用这2行

ActionBar bar = getActionBar();
bar.setBackgroundDrawable(new ColorDrawable(Color.parseColor("#db1012")));
解决方案2: 您可以使用工具栏。将其添加到xml中

<android.support.v7.widget.Toolbar
    android:id="@+id/toolbar"
    android:layout_width="match_parent"
    android:layout_height="?attr/actionBarSize"
    android:background="@color/color_primary"
    app:titleTextAppearance="@style/Toolbar.TitleText"
    android:layout_alignParentTop="true">
</android.support.v7.widget.Toolbar>

您是否尝试删除android:background并只保留background?
ActionBar bar = getActionBar();
bar.setBackgroundDrawable(new ColorDrawable(Color.parseColor("#db1012")));
<android.support.v7.widget.Toolbar
    android:id="@+id/toolbar"
    android:layout_width="match_parent"
    android:layout_height="?attr/actionBarSize"
    android:background="@color/color_primary"
    app:titleTextAppearance="@style/Toolbar.TitleText"
    android:layout_alignParentTop="true">
</android.support.v7.widget.Toolbar>
  /**
 * Set toolbar into actionbar.
 */
protected void setupToolbar() {
    if (toolbar == null) {

        toolbar = (Toolbar) findViewById(R.id.toolbar);
        toolbar.setTitle(R.string.back);
        toolbar.setTitleTextColor(Color.WHITE);
        toolbar.setBackgroundColor(Color.RED);
    }
}