Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/199.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_Colors_Reference_Attributes_Toolbar - Fatal编程技术网

Android 基于主题属性设置工具栏背景色会使应用程序崩溃

Android 基于主题属性设置工具栏背景色会使应用程序崩溃,android,colors,reference,attributes,toolbar,Android,Colors,Reference,Attributes,Toolbar,因此,我通过从“设置”中选择主题来设置工具栏的颜色…颜色应该是主颜色。 当我将“?attr/color\u primary”设置为工具栏的背景时,应用程序崩溃 出现此错误时: (我发布链接是因为我在这里粘贴错误,对不起) 下面是带有主题的styles.xml: <resources xmlns:tools="http://schemas.android.com/tools"> <!-- Activity themes --> <style name="Dark

因此,我通过从“设置”中选择主题来设置工具栏的颜色…颜色应该是主颜色。 当我将“?attr/color\u primary”设置为工具栏的背景时,应用程序崩溃 出现此错误时: (我发布链接是因为我在这里粘贴错误,对不起)

下面是带有主题的styles.xml:

<resources xmlns:tools="http://schemas.android.com/tools">


<!-- Activity themes -->

<style name="Dark" parent="Theme.AppCompat" />




<!-- Application themes. -->
<style name="AppBaseTheme" parent="Theme.AppCompat.Light.NoActionBar">
    <!--
        Theme customizations available in newer API levels can go in
        res/values-vXX/styles.xml, while customizations related to
        backward-compatibility can go here.
    -->
    <item name="android:navigationBarColor">?attr/color_primary</item>
</style>



<!-- Application themes. -->
<style name="AppTheme.Brown" parent="AppBaseTheme">
    <!-- All customizations that are NOT specific to a particular API-level can go here. -->

    <item name="color_primary_dark">@color/minecraft_brown_dark_dirt_light</item>
    <item name="color_primary">@color/minecraft_brown_dirt_darkest</item>
    <item name="color_accent">@color/minecraft_green_grass_lightest</item>
    <item name="color_drawer_divider">?attr/color_primary_dark</item>
    <item name="android:textColorLink">?attr/color_primary</item>
    <item name="color_preferences">@color/minecraft_brown_dirt_light</item>

    <!--   your app branding color for the app bar -->
    <item name="colorPrimary">?attr/color_primary</item>

    <!--   darker variant for the status bar and contextual app bars -->
    <item name="colorPrimaryDark">?attr/color_primary_dark</item>

    <!--   theme UI controls like checkboxes and text fields -->
    <item name="colorAccent">?attr/color_accent</item>

</style>


<style name="AppTheme.Green" parent="AppBaseTheme">
    <!-- All customizations that are NOT specific to a particular API-level can go here. -->

    <item name="color_primary_dark">@color/minecraft_green_cactus_darkest</item>
    <item name="color_primary">@color/minecraft_green_cactus_light</item>
    <item name="color_accent">@color/minecraft_brown_dirt_dark</item>
    <item name="color_drawer_divider">@color/minecraft_green_grass_lightest</item>
    <item name="android:textColorLink">?attr/color_primary</item>
    <item name="color_preferences">?attr/color_primary</item>

    <!--   your app branding color for the app bar -->
    <item name="colorPrimary">?attr/color_primary</item>

    <!--   darker variant for the status bar and contextual app bars -->
    <item name="colorPrimaryDark">?attr/color_primary_dark</item>

    <!--   theme UI controls like checkboxes and text fields -->
    <item name="colorAccent">?attr/color_accent</item>

</style>


<style name="PreferenceFragmentTheme" parent="AppBaseTheme">
    <item name="colorAccent">@color/minecraft_brown_dirt_light</item>
    <item name="android:textColor">@color/extracted_primary_text_default_material_light</item>
    <item name="android:textColorSecondary">@color/extracted_secondary_text_default_material_light</item>
</style>


           <!-- LOOK HERE -->
<style name="ToolBarStyle" parent="Widget.AppCompat.ActionBar">
    <item name="android:background">?attr/color_primary</item>
    <item name="theme">@style/ToolBarTheme</item>
    <item name="popupTheme">@style/ToolBarPopupTheme</item>
    <item name="titleTextAppearance">@style/ToolBarTitleTheme</item>
    <item name="android:elevation" tools:targetApi="21">@dimen/elevation_default</item>
</style>

<style name="ToolBarTheme" parent="ThemeOverlay.AppCompat.ActionBar">
    <item name="android:textColorPrimary">@color/toolbar_title_text_color</item>
</style>

<style name="ToolBarTitleTheme" parent="TextAppearance.Widget.AppCompat.Toolbar.Title">
    <item name="android:textStyle">normal</item>
</style>

<style name="ToolBarPopupTheme" parent="ThemeOverlay.AppCompat.Dark">
    <item name="android:colorBackground">@color/minecraft_green_cactus_light</item>
</style>



<style name="CardViewStyle" parent="CardView.Light">
    <item name="cardUseCompatPadding">true</item>
    <item name="cardBackgroundColor">@color/white</item>
    <item name="cardElevation">4dp</item>
    <item name="cardCornerRadius">4dp</item>
</style>



<style name="ButtonTransparentStyle" parent="android:Widget.DeviceDefault.Button.Borderless">
    <item name="android:textColor">@color/extracted_secondary_text_default_material_light</item>
    <item name="android:textAllCaps">true</item>
    <item name="android:textAppearance">?android:attr/textAppearanceButton</item>
</style>

?属性/颜色
@颜色/采矿工艺\u棕色\u深色\u泥土\u浅色
@颜色/地雷工艺\u棕色\u污垢\u最深
@颜色/矿车\绿色\草\最轻
?属性/颜色\u主要\u深色
?属性/颜色
@颜色/采矿工艺\棕色\污垢\浅色
?属性/颜色
?属性/颜色\u主要\u深色
?属性/颜色\u重音
@颜色/矿山工艺\绿色\仙人掌\最深
@颜色/矿山工艺\绿色\仙人掌\浅色
@颜色/地雷工艺\u棕色\u泥土\u深色
@颜色/矿车\绿色\草\最轻
?属性/颜色
?属性/颜色
?属性/颜色
?属性/颜色\u主要\u深色
?属性/颜色\u重音
@颜色/采矿工艺\棕色\污垢\浅色
@颜色/提取\主\文本\默认\材质\灯光
@颜色/提取\辅助\文本\默认\材质\灯光
?属性/颜色
@样式/工具栏主题
@风格/流行主题
@样式/标题主题
@尺寸/标高\u默认值
@颜色/工具栏\标题\文本\颜色
正常的
@颜色/矿山工艺\绿色\仙人掌\浅色
真的
@颜色/白色
4dp
4dp
@颜色/提取\辅助\文本\默认\材质\灯光
真的
?安卓:属性/文本外观按钮

attrs.xml:

<?xml version="1.0" encoding="utf-8"?>


color.xml

<resources>

<color name="window_background">#CC000000</color>
<color name="greenactbar">#00ff11</color>
<item name="blue" type="color">#FF33B5E5</item>
<item name="purple" type="color">#FFAA66CC</item>
<item name="green" type="color">#FF99CC00</item>
<item name="orange" type="color">#FFFFBB33</item>
<item name="red" type="color">#FFFF4444</item>
<item name="darkblue" type="color">#FF0099CC</item>
<item name="darkpurple" type="color">#FF9933CC</item>
<item name="darkgreen" type="color">#FF669900</item>
<item name="darkorange" type="color">#FFFF8800</item>
<item name="darkred" type="color">#FFCC0000</item>
<item name="black" type="color">#FF000000</item>
<item name="white" type="color">#FFFFFFFF</item>

<item name="minecraft_button_background_not_pressed" type="color">#FF958681</item>
<item name="minecraft_button_background_pressed" type="color">#FF716567</item>
<item name="minecraft_button_text" type="color">#FFDEDEDE</item>
<item name="minecraft_button_text_shadow" type="color">#FF393939</item>
<item name="minecraft_button_light" type="color">#FFBCB1AB</item>
<item name="minecraft_button_dark" type="color">#FF282729</item>

<item name="minecraft_brown_dark_dirt_light" type="color">#FF3A2A1E</item>
<item name="minecraft_brown_dirt_darkest" type="color">#FF583D2B</item>
<item name="minecraft_brown_dirt_dark" type="color">#FF78543C</item>
<item name="minecraft_brown_dirt_light" type="color">#FF956B4D</item>
<item name="minecraft_brown_dirt_lightest" type="color">#FFB88460</item>

<item name="minecraft_green_grass_darkest" type="color">#FF406129</item>
<item name="minecraft_green_grass_dark" type="color">#FF476D2D</item>
<item name="minecraft_green_grass_light" type="color">#FF537D35</item>
<item name="minecraft_green_grass_lightest" type="color">#FF679940</item>

<item name="minecraft_green_cactus_darkest" type="color">#FF116120</item>
<item name="minecraft_green_cactus_light" type="color">#FF17832A</item>
<item name="minecraft_green_cactus_lightest" type="color">#FF199130</item>


<!-- colors of element of the app -->
<color name="toolbar_title_text_color">@color/white</color>
<color name="tabs_indicator_color">@color/white</color>
<color name="tabs_selected_text_color">@color/white</color>
<color name="tabs_not_selected_text_color">@color/minecraft_button_light</color>
<color name="drawer_text_shadow_color" type="color">#FF292929</color>
<color name="text_changelog_color" type="color">#FFA5A5A5</color>

<!-- colors used for the Settings page, on pre-lollipop devices the colors were different -->
<color name="extracted_primary_text_default_material_light">#de000000</color>
<color name="extracted_secondary_text_default_material_light">#8a000000</color>
<color name="material_deep_purple_500">@color/purple</color>
<color name="lannister">@color/purple</color>
<color name="textBackground">#8a000000</color>



<integer-array name="androidcolors">
    <item>@color/blue</item>
    <item>@color/purple</item>
    <item>@color/green</item>
    <item>@color/orange</item>
    <item>@color/red</item>
    <item>@color/darkblue</item>
    <item>@color/darkpurple</item>
    <item>@color/darkgreen</item>
    <item>@color/darkorange</item>
    <item>@color/darkred</item>
    <item>@color/black</item>
    <item>@color/white</item>
</integer-array>



</resources>

#CC000000
#00ff11
#FF33B5E5
#FFAA66CC
#FF99CC00
#FFBB33
#FF4444
#FF0099CC
#FF9933CC
#FF669900
#FF8800
#FFCC0000
#FF000000
#FFFFFFFF
#FF958681
#FF716567
#菲德代德
#FF393939
#FFBCB1AB
#FF282729
#FF3A2A1E
#FF583D2B
#FF78543C
#FF956B4D
#FFB88460
#FF406129
#FF476D2D
#FF537D35
#FF679940
#FF116120
#FF17832A
#FF199130
@颜色/白色
@颜色/白色
@颜色/白色
@颜色/minecraft_按钮_灯
#FF292929
#FFA5A5
#de000000
#8a000000
@颜色/紫色
@颜色/紫色
#8a000000
@颜色/蓝色
@颜色/紫色
@颜色/绿色
@颜色/橙色
@颜色/红色
@颜色/暗蓝色
@颜色/暗色曲线
@颜色/暗绿色
@颜色/暗色
@颜色/暗色
@颜色/黑色
@颜色/白色
布局:

<?xml version="1.0" encoding="utf-8"?>

<android.support.v7.widget.Toolbar
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    style="@style/ToolBarStyle"
    android:id="@+id/toolbar"/>

<com.astuetz.PagerSlidingTabStrip
    android:id="@+id/tabs"
    android:layout_width="match_parent"
    android:layout_height="48dip" />

<RelativeLayout
    android:layout_width="match_parent"
    android:layout_height="match_parent">

        <android.support.v4.view.ViewPager
            android:id="@+id/pager"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:layout_alignParentTop="true" />

</RelativeLayout>


我现在在安卓5.0.2上,不需要回答棒棒糖之前的版本

您应该将工具栏的背景设置为您想要的颜色,如下所示:

            <android.support.v7.widget.Toolbar
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/your_primary_color"
android:id="@+id/toolbar"/>


或者,您可以通过setBackground()方法以编程方式更改此设置…此处无需使用attrs…但是如果您需要使用attrs,则appcompat可以在较旧的android版本上使用,只需删除“android:”前缀,如:“?attr/your_attr”

您应该将工具栏的背景设置为您想要的颜色,如下所示:

            <android.support.v7.widget.Toolbar
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@color/your_primary_color"
android:id="@+id/toolbar"/>



或者您可以通过setBackground()方法以编程方式更改此设置…此处无需使用attrs…但是如果您需要使用attrs,则appcompat可以在较旧的android版本上使用,只需删除“android:”前缀,如:“?attr/your_attr”

您不能在颜色资源文件中引用样式属性,至少不是在棒棒糖之前。你只能在样式和布局中引用样式属性。我在棒棒糖中,该应用程序适用于Android 5+,检查:在棒棒糖上,你可以在可绘制资源中进行,但不能在颜色资源中进行,因此我的评论仍然有效。但这就是我正在做的,我引用的颜色与主颜色不同如果我选择绿色或棕色主题,请查看styes.xmlIn color.xml您不能引用样式属性,只能引用普通颜色。它必须是另一种方式:在样式属性中引用颜色。我不知道如何更好地解释它。你不能在颜色资源文件中引用样式属性,至少在棒棒糖之前不能。你只能在样式和布局中引用样式属性。我在棒棒糖中,该应用程序适用于Android 5+,检查:在棒棒糖上,你可以在可绘制资源中进行,但不能在颜色资源中进行,因此我的评论仍然有效。但这就是我正在做的,我引用的颜色与主颜色不同如果我选择绿色或棕色主题,请查看styes.xmlIn color.xml您不能引用样式属性,只能引用普通颜色。它必须是另一种方式:在样式属性中引用颜色。我不知道如何更好地解释它。你使用appcompat吗?无论如何,你可以尝试使用@color/将背景设置为颜色,正如你所看到的,我正在使用Widget.appcompat.ActionBar,因为如果我设置了正常的@color/,我会使用主题。。。它不会因为更改主题而改变,所以我应该使用?attr/…使用样式属性来引用布局中的背景色是完全有效的,但在
color.xml
中使用样式属性作为颜色定义是无效的。颜色资源必须包含不变的颜色,您可以在主题中选择这些颜色,然后在布局中作为样式属性引用。这就是我要做的,检查xml(不要看前4行,它们没有被使用)您是否使用appcompat?无论如何,您可以尝试使用@color/将背景设置为颜色,正如您所看到的,我正在使用Widget.appcompat.ActionBar,因为如果我设置了正常的@color/,我将使用主题。。。它不会因为更改主题而改变,所以我应该使用?attr/…使用样式属性来引用布局中的背景色是完全有效的,但在
color.xml
中使用样式属性作为颜色定义是无效的。颜色资源必须包含不变的颜色,您可以在主题中选择这些颜色,然后在布局中作为样式属性引用。这就是我要做的,检查xml(不要看前4行,它们没有被使用)