我正在尝试在我的应用程序中使用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>