java - Android Studio AppCompat 不支持当前主题功能

标签 java android xml

我在 Android 项目中从 21.0.3 升级到 23.1.1 支持库,但收到此错误

Caused by: java.lang.IllegalArgumentException: AppCompat does not support the current theme features: { windowActionBar: false, windowActionBarOverlay: false, android:windowIsFloating: false, windowActionModeOverlay: true, windowNoTitle: false }
                                                                             at android.support.v7.app.AppCompatDelegateImplV7.createSubDecor(AppCompatDelegateImplV7.java:422)
                                                                             at android.support.v7.app.AppCompatDelegateImplV7.ensureSubDecor(AppCompatDelegateImplV7.java:279)
                                                                             at android.support.v7.app.AppCompatDelegateImplV7.setContentView(AppCompatDelegateImplV7.java:253)
                                                                             at android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:109)
                                                                             at com.robotemplates.cityguide.activity.MainActivity.onCreate(MainActivity.java:75)
                                                                             at android.app.Activity.performCreate(Activity.java:6092)
                                                                             at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1112)
                                                                             at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2468)
                                                                             at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2601) 
                                                                             at android.app.ActivityThread.access$800(ActivityThread.java:178) 
                                                                             at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1470) 
                                                                             at android.os.Handler.dispatchMessage(Handler.java:111) 
                                                                             at android.os.Looper.loop(Looper.java:194) 
                                                                             at android.app.ActivityThread.main(ActivityThread.java:5637) 
                                                                             at java.lang.reflect.Method.invoke(Native Method) 
                                                                             at java.lang.reflect.Method.invoke(Method.java:372) 
                                                                             at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:959) 
                                                                             at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:754) 

错误指向 setContentView(R.layout.activity_main);

有人可以帮我吗?

我的styles.xml

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

<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
    <!-- Customize your theme here. -->
    <item name="colorPrimary">@color/colorPrimary</item>
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
    <item name="colorAccent">@color/colorAccent</item>
    <item name="android:textColor">#FFFFFF</item>
    <item name="android:textColorPrimary">#212121</item>
    <item name="android:textColorSecondary">#727272</item>
    <item name="android:divider">#B6B6B6</item>
</style>

<!--<style name="AppTheme.NoActionBar">-->
    <!--<item name="windowActionBar">false</item>-->
    <!--<item name="windowNoTitle">true</item>-->
<!--</style>-->

<style name="AppTheme.AppBarOverlay" parent="ThemeOverlay.AppCompat.Dark.ActionBar" />

<style name="AppTheme.PopupOverlay" parent="ThemeOverlay.AppCompat.Light" />

<style name="Widget.CityGuide.Toolbar" parent="@style/Widget.AppCompat.Toolbar">
    <item name="android:background">?attr/colorPrimary</item>
    <item name="theme">@style/ThemeOverlay.AppCompat.Dark.ActionBar</item>
    <item name="popupTheme">@style/ThemeOverlay.AppCompat.Light</item>
</style>

<style name="TextAppearance.CityGuide.Display4" parent="@style/TextAppearance.AppCompat.Display4">
    <item name="android:textSize">@dimen/global_text_size_display_4</item>
    <item name="android:textColor">?android:textColorSecondary</item>
</style>

<style name="TextAppearance.CityGuide.Display3" parent="@style/TextAppearance.AppCompat.Display3">
    <item name="android:textSize">@dimen/global_text_size_display_3</item>
    <item name="android:textColor">?android:textColorSecondary</item>
</style>

<style name="TextAppearance.CityGuide.Display2" parent="@style/TextAppearance.AppCompat.Display2">
    <item name="android:textSize">@dimen/global_text_size_display_2</item>
    <item name="android:textColor">?android:textColorSecondary</item>
</style>

<style name="TextAppearance.CityGuide.Display1" parent="@style/TextAppearance.AppCompat.Display1">
    <item name="android:textSize">@dimen/global_text_size_display_1</item>
    <item name="android:textColor">?android:textColorSecondary</item>
</style>

<style name="TextAppearance.CityGuide.Headline" parent="@style/TextAppearance.AppCompat.Headline">
    <item name="android:textSize">@dimen/global_text_size_headline</item>
    <item name="android:textColor">?android:textColorPrimary</item>
</style>

<style name="TextAppearance.CityGuide.Title" parent="@style/TextAppearance.AppCompat.Title">
    <item name="android:textSize">@dimen/global_text_size_title</item>
    <item name="android:textColor">?android:textColorPrimary</item>
</style>

<style name="TextAppearance.CityGuide.Subhead" parent="@style/TextAppearance.AppCompat.Subhead">
    <item name="android:textSize">@dimen/global_text_size_subhead</item>
    <item name="android:textColor">?android:textColorPrimary</item>
</style>

<style name="TextAppearance.CityGuide.Body2" parent="@style/TextAppearance.AppCompat.Body2">
    <item name="android:textSize">@dimen/global_text_size_body_2</item>
    <item name="android:textColor">?android:textColorPrimary</item>
</style>

<style name="TextAppearance.CityGuide.Body1" parent="@style/TextAppearance.AppCompat.Body1">
    <item name="android:textSize">@dimen/global_text_size_body_1</item>
    <item name="android:textColor">?android:textColorPrimary</item>
</style>

<style name="TextAppearance.CityGuide.Caption" parent="@style/TextAppearance.AppCompat.Caption">
    <item name="android:textSize">@dimen/global_text_size_caption</item>
    <item name="android:textColor">?android:textColorSecondary</item>
</style>

<style name="TextAppearance.CityGuide.Button" parent="@style/TextAppearance.AppCompat.Button">
    <item name="android:textSize">@dimen/global_text_size_button</item>
    <item name="android:textColor">?android:textColorPrimary</item>
    <item name="textAllCaps">true</item>
</style>

<style name="TextAppearance.CityGuide.Menu" parent="@style/TextAppearance.AppCompat.Menu">
    <item name="android:textSize">@dimen/global_text_size_menu</item>
    <item name="android:textColor">?android:textColorPrimary</item>
</style>

<style name="TextAppearance.CityGuide.Placeholder" parent="@style/TextAppearance.AppCompat.Body1">
    <item name="android:textSize">@dimen/global_text_size_placeholder</item>
    <item name="android:textColor">?android:textColorSecondary</item>
</style>

<style name="TextAppearance.CityGuide.Display4.Inverse" parent="@style/TextAppearance.CityGuide.Display4">
    <item name="android:textColor">?android:attr/textColorSecondaryInverse</item>
    <item name="android:textColorHint">?android:attr/textColorHintInverse</item>
    <item name="android:textColorHighlight">?android:attr/textColorHighlightInverse</item>
    <item name="android:textColorLink">?android:attr/textColorLinkInverse</item>
</style>

<style name="TextAppearance.CityGuide.Display3.Inverse" parent="@style/TextAppearance.CityGuide.Display3">
    <item name="android:textColor">?android:attr/textColorSecondaryInverse</item>
    <item name="android:textColorHint">?android:attr/textColorHintInverse</item>
    <item name="android:textColorHighlight">?android:attr/textColorHighlightInverse</item>
    <item name="android:textColorLink">?android:attr/textColorLinkInverse</item>
</style>

<style name="TextAppearance.CityGuide.Display2.Inverse" parent="@style/TextAppearance.CityGuide.Display2">
    <item name="android:textColor">?android:attr/textColorSecondaryInverse</item>
    <item name="android:textColorHint">?android:attr/textColorHintInverse</item>
    <item name="android:textColorHighlight">?android:attr/textColorHighlightInverse</item>
    <item name="android:textColorLink">?android:attr/textColorLinkInverse</item>
</style>

<style name="TextAppearance.CityGuide.Display1.Inverse" parent="@style/TextAppearance.CityGuide.Display1">
    <item name="android:textColor">?android:attr/textColorSecondaryInverse</item>
    <item name="android:textColorHint">?android:attr/textColorHintInverse</item>
    <item name="android:textColorHighlight">?android:attr/textColorHighlightInverse</item>
    <item name="android:textColorLink">?android:attr/textColorLinkInverse</item>
</style>

<style name="TextAppearance.CityGuide.Headline.Inverse" parent="@style/TextAppearance.CityGuide.Headline">
    <item name="android:textColor">?android:attr/textColorPrimaryInverse</item>
    <item name="android:textColorHint">?android:attr/textColorHintInverse</item>
    <item name="android:textColorHighlight">?android:attr/textColorHighlightInverse</item>
    <item name="android:textColorLink">?android:attr/textColorLinkInverse</item>
</style>

<style name="TextAppearance.CityGuide.Title.Inverse" parent="@style/TextAppearance.CityGuide.Title">
    <item name="android:textColor">?android:attr/textColorPrimaryInverse</item>
    <item name="android:textColorHint">?android:attr/textColorHintInverse</item>
    <item name="android:textColorHighlight">?android:attr/textColorHighlightInverse</item>
    <item name="android:textColorLink">?android:attr/textColorLinkInverse</item>
</style>

<style name="TextAppearance.CityGuide.Subhead.Inverse" parent="@style/TextAppearance.CityGuide.Subhead">
    <item name="android:textColor">?android:attr/textColorPrimaryInverse</item>
    <item name="android:textColorHint">?android:attr/textColorHintInverse</item>
    <item name="android:textColorHighlight">?android:attr/textColorHighlightInverse</item>
    <item name="android:textColorLink">?android:attr/textColorLinkInverse</item>
</style>

<style name="TextAppearance.CityGuide.Body2.Inverse" parent="@style/TextAppearance.CityGuide.Body2">
    <item name="android:textColor">?android:attr/textColorPrimaryInverse</item>
    <item name="android:textColorHint">?android:attr/textColorHintInverse</item>
    <item name="android:textColorHighlight">?android:attr/textColorHighlightInverse</item>
    <item name="android:textColorLink">?android:attr/textColorLinkInverse</item>
</style>

<style name="TextAppearance.CityGuide.Body1.Inverse" parent="@style/TextAppearance.CityGuide.Body1">
    <item name="android:textColor">?android:attr/textColorPrimaryInverse</item>
    <item name="android:textColorHint">?android:attr/textColorHintInverse</item>
    <item name="android:textColorHighlight">?android:attr/textColorHighlightInverse</item>
    <item name="android:textColorLink">?android:attr/textColorLinkInverse</item>
</style>

<style name="TextAppearance.CityGuide.Caption.Inverse" parent="@style/TextAppearance.CityGuide.Caption">
    <item name="android:textColor">?android:attr/textColorSecondaryInverse</item>
    <item name="android:textColorHint">?android:attr/textColorHintInverse</item>
    <item name="android:textColorHighlight">?android:attr/textColorHighlightInverse</item>
    <item name="android:textColorLink">?android:attr/textColorLinkInverse</item>
</style>

<style name="TextAppearance.CityGuide.Button.Inverse" parent="@style/TextAppearance.CityGuide.Button">
    <item name="android:textColor">?android:attr/textColorPrimaryInverse</item>
    <item name="android:textColorHint">?android:attr/textColorHintInverse</item>
    <item name="android:textColorHighlight">?android:attr/textColorHighlightInverse</item>
    <item name="android:textColorLink">?android:attr/textColorLinkInverse</item>
</style>

<style name="TextAppearance.CityGuide.Menu.Inverse" parent="@style/TextAppearance.CityGuide.Menu">
    <item name="android:textColor">?android:attr/textColorPrimaryInverse</item>
    <item name="android:textColorHint">?android:attr/textColorHintInverse</item>
    <item name="android:textColorHighlight">?android:attr/textColorHighlightInverse</item>
    <item name="android:textColorLink">?android:attr/textColorLinkInverse</item>
</style>

我的activity_main.xml

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

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

    <FrameLayout
        android:id="@+id/activity_main_container"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />

    <include layout="@layout/toolbar" />

    <include layout="@layout/fab_search" />

</FrameLayout>

<com.robotemplates.cityguide.view.ScrimInsetsFrameLayout
    android:id="@+id/activity_main_drawer"
    android:layout_width="@dimen/drawer_width"
    android:layout_height="match_parent"
    android:layout_gravity="start"
    android:background="@color/global_bg_front"
    android:fitsSystemWindows="true"
    app:insetForeground="@color/drawer_inset_foreground">

    <android.support.v7.widget.RecyclerView
        android:id="@+id/activity_main_drawer_recycler"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:scrollbars="vertical" />

</com.robotemplates.cityguide.view.ScrimInsetsFrameLayout>

最佳答案

windowActionBar 保留为 false,并添加 windowNoTitle 并将其设置为 true

   <item name="windowActionBar">false</item>
   <item name="windowNoTitle">true</item>

关于java - Android Studio AppCompat 不支持当前主题功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35422646/

相关文章:

android - 更新到 ADT 14 后无法构建依赖于库的项目

java - 节点列表未填充

android - 为什么我的 WebView 以纯文本 HTML 形式显示 rss?

java - 以编程方式检查SD卡上是否有足够的内存

Java从整数中获取月份字符串

java - GhoSTLy Pojo 方法

Android 谷歌地图层 - 可绘制图标

php - DOMDocument::loadXML 中的错误

java - 使用声明的类型进行 JAXB 解码不会使用数据填充结果对象

java - 在java中多线程打印偶数和奇数?