Android工具栏错误

时间:2015-02-14 21:11:22

标签: android android-toolbar

我正在尝试在我的应用程序中使用Toolbar而我遇到了一个问题:

java.lang.IllegalStateException: This Activity already has an action bar supplied by the window decor. Do not request Window.FEATURE_ACTION_BAR and set android:windowActionBar to false in your theme to use a Toolbar instead.

我不相信我在任何地方请求Window.FEATURE_ACTION_BAR并且我将ActionBar设置为false。这是我的Style.xml:

<resources>

<style name="AppTheme" parent="android:Theme.Material.Light.NoActionBar">
    <item name="android:windowActionBarOverlay">true</item>
    <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:textColor">@color/text</item>
    <item name="android:textColorPrimary">@color/text_primary</item>
    <item name="android:textColorSecondary">@color/text_secondary</item>
</style>

<style name="ToolbarTheme" parent="android:ThemeOverlay.Material.ActionBar">
    <item name="android:windowActionBar">false</item>
</style>

</resources>

这是我的toolbar.xml:

<?xml version="1.0" encoding="utf-8"?>
<Toolbar
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/toolbar"
    android:layout_width="match_parent"
    android:layout_height="?android:attr/actionBarSize"
    android:theme="@style/ToolbarTheme">

</Toolbar>

在我的布局中,我正在<include layout="@layout/toolbar" />中进行setActionBar(toolbar),然后在onCreate()中进行{{1}}。我已经看到多个线程,但没有解决我的问题。我还应该注意到我只支持5.0所以我没有使用appcompat

1 个答案:

答案 0 :(得分:0)

您必须将此样式用于您的活动而不是工具栏

<style name="AppTheme" parent="Theme.AppCompat.Light">
   ....
   <item name="windowActionBar">false</item>
</style>

如果您没有使用appCompat库:

<style name="AppTheme" parent="android:Theme.Material.Light">
   ....
   <item name="android:windowActionBar">false</item>
</style>