AppCompat不支持当前主题。

3
我的应用在Android N上正常运行,但在Android M上却在setContentView(R.layout.activity_main)处崩溃了。
 Caused by: java.lang.IllegalArgumentException: AppCompat does not support the current theme features: { windowActionBar: false, windowActionBarOverlay: false, android:windowIsFloating: false, windowActionModeOverlay: true, windowNoTitle: false }

奇怪的是,我甚至没有编辑过与我的应用程序主题有关的任何内容,因此这个错误非常奇怪:

styles.xml:

<resources>

    <!-- Base application theme. -->
    <style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
        <!-- Customize your theme here. -->
        <item name="colorPrimary">@color/colorPrimary</item>
        <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
        <item name="colorAccent">@color/colorAccent</item>z
    </style>

    <style name="DialogStyle">
        <item name="android:windowFrame">@null</item>
        <item name="android:windowIsFloating">true</item>
        <item name="android:windowContentOverlay">@null</item>
        <item name="android:windowAnimationStyle">@android:style/Animation.Dialog</item>
        <item name="android:windowBackground">@color/textColorPrimary</item>
        <item name="android:windowSoftInputMode">stateUnspecified|adjustPan</item>
        <item name="android:colorBackgroundCacheHint">@null</item>
        <item name="android:textColorPrimary">@color/black</item>
    </style>

</resources>

致命异常: 主要过程 应用程序名称:com.curlybraceapps.ruchir.rescuer,PID:20394 运行时异常:无法启动活动 组件信息{com.curlybraceapps.ruchir.rescuer/com.curlybraceapps.ruchir.rescuer.MainActivity}: java.lang.IllegalArgumentException: AppCompat不支持当前主题特性:{windowActionBar:false, windowActionBarOverlay:false, android:windowIsFloating:false, windowActionModeOverlay:true, windowNoTitle:false} 在android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2325) 在android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2387) 在android.app.ActivityThread.access$800(ActivityThread.java:151) 在android.app.ActivityThread$H.handleMessage(ActivityThread.java:1303) 在android.os.Handler.dispatchMessage(Handler.java:102) 在android.os.Looper.loop(Looper.java:135) 在android.app.ActivityThread.main(ActivityThread.java:5254) 在java.lang.reflect.Method.invoke(Native Method) 在java.lang.reflect.Method.invoke(Method.java:372) 在com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:903) 在com.android.internal.os.ZygoteInit.main(ZygoteInit.java:698) 造成的原因:java.lang.IllegalArgumentException: AppCompat不支持当前主题特性:{windowActionBar:false, windowActionBarOverlay:false, android:windowIsFloating:false, windowActionModeOverlay:true, windowNoTitle:false} 在android.support.v7.app.AppCompatDelegateImplV9.createSubDecor(AppCompatDelegateImplV9.java:474) 在android.support.v7.app.AppCompatDelegateImplV9.ensureSubDecor(AppCompatDelegateImplV9.java:328) 在android.support.v7.app.AppCompatDelegateImplV9.setContentView(AppCompatDelegateImplV9.java:289) 在android.support.v7.app.AppCompatActivity.setContentView(AppCompatActivity.java:140) 在com.curlybraceapps.ruchir.rescuer.MainActivity.onCreate(MainActivity.java:152) 在android.app.Activity.performCreate(Activity.java:6033) 在android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1106) 在android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2278) 在android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2387) 在android.app.ActivityThread.access$800(ActivityThread.java:151) 在android.app.ActivityThread$H.handleMessage(ActivityThread.java:1303) 在android.os.Handler.dispatchMessage(Handler.java:102) 在android.os.Looper.loop(Looper.java:135) 在android.app.ActivityThread.main(ActivityThread.java:5254) 在java.lang.reflect.Method.invoke(Native Method) 在java.lang.reflect.Method.invoke(Method.java:372) 在com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:903) 在com.android.internal.os.ZygoteInit.main(ZygoteInit.java:698)
为什么这个问题突然出现了,即使我根本没有改变与我的主题有关的任何内容?

你解决了吗? - SARATH V
2个回答

1
更改父主题对我有用。
<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
        <item name="colorPrimary">@color/colorPrimary</item>
        <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
        <item name="colorAccent">@color/colorAccent</item>
</style>

0

我遇到了同样的问题,所以我更新了我的样式,现在它可以正常工作了。

<style name="AppTheme.AppCompat.Light.NoActionBar.FullScreen" parent="@style/Theme.AppCompat.Light">
    <item name="windowNoTitle">true</item>
    <item name="windowActionBar">false</item>
    <item name="android:windowFullscreen">true</item>
    <item name="android:windowContentOverlay">@null</item>
</style>

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接