安卓工具栏错误



我正在尝试在我的应用程序中使用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设置为假。这是我的风格.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>

这是我的工具栏.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" />,然后在我的onCreate()setActionBar(toolbar).我已经看到了多个关于此的线程,但没有一个可以解决我的问题。我还应该注意我只支持 5.0,所以我没有使用 appcompat

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

<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>

最新更新