Android AppCompat不支持当前的主题功能-没有任何功能可用

Android AppCompat不支持当前的主题功能-没有任何功能可用,android,Android,我试图在我的项目中使用MaterialDesign,但我一直都遇到这个错误: Caused by: java.lang.IllegalArgumentException: AppCompat does not support the current theme features: { windowActionBar: false, windowActionBarOverlay: false, android:windowIsFloating: false, windowActionModeOve

我试图在我的项目中使用MaterialDesign,但我一直都遇到这个错误:

Caused by: java.lang.IllegalArgumentException: AppCompat does not support the current theme features: { windowActionBar: false, windowActionBarOverlay: false, android:windowIsFloating: false, windowActionModeOverlay: false, windowNoTitle: false }
        at android.support.v7.app.AppCompatDelegateImplV7.ensureSubDecor(AppCompatDelegateImplV7.java:371)
        at android.support.v7.app.AppCompatDelegateImplV7.initWindowDecorActionBar(AppCompatDelegateImplV7.java:173)
        at android.support.v7.app.AppCompatDelegateImplBase.getSupportActionBar(AppCompatDelegateImplBase.java:87)
        at android.support.v7.app.AppCompatDelegateImplV7.setSupportActionBar(AppCompatDelegateImplV7.java:197)
        at android.support.v7.app.AppCompatActivity.setSupportActionBar(AppCompatActivity.java:99)
        at de.memorian.playpal.MainActivity.afterInject(MainActivity.java:72)
我也遇到过类似的问题,但每次我都会犯同样的错误

MainActivity.java:

@EActivity(R.layout.activity_main)
public class MainActivity extends AppCompatActivity {

@ViewById
protected Toolbar toolbar;

@AfterInject
public void afterInject() {
    setSupportActionBar(toolbar);
    getSupportActionBar().setDisplayShowHomeEnabled(true);
}
}
<style name="AppTheme" parent="AppTheme.Base"/>

<style name="AppTheme.Base" parent="Theme.AppCompat.Light.DarkActionBar">
    <item name="windowNoTitle">true</item>
    <item name="windowActionBar">false</item>
    <item name="colorPrimary">@color/colorPrimary</item>
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
    <item name="colorAccent">@color/colorAccent</item>
</style>
style name="AppTheme" parent="AppTheme.Base">
    <!-- enable window content transitions -->
    <item name="android:windowContentTransitions">true</item>
    <item name="android:windowAllowEnterTransitionOverlap">true</item>
    <item name="android:windowAllowReturnTransitionOverlap">true</item>
    <!-- specify shared element transitions -->
    <item name="android:windowSharedElementEnterTransition">@android:transition/move</item>
    <item name="android:windowSharedElementExitTransition">@android:transition/move</item>
</style>
styles.xml:

@EActivity(R.layout.activity_main)
public class MainActivity extends AppCompatActivity {

@ViewById
protected Toolbar toolbar;

@AfterInject
public void afterInject() {
    setSupportActionBar(toolbar);
    getSupportActionBar().setDisplayShowHomeEnabled(true);
}
}
<style name="AppTheme" parent="AppTheme.Base"/>

<style name="AppTheme.Base" parent="Theme.AppCompat.Light.DarkActionBar">
    <item name="windowNoTitle">true</item>
    <item name="windowActionBar">false</item>
    <item name="colorPrimary">@color/colorPrimary</item>
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
    <item name="colorAccent">@color/colorAccent</item>
</style>
style name="AppTheme" parent="AppTheme.Base">
    <!-- enable window content transitions -->
    <item name="android:windowContentTransitions">true</item>
    <item name="android:windowAllowEnterTransitionOverlap">true</item>
    <item name="android:windowAllowReturnTransitionOverlap">true</item>
    <!-- specify shared element transitions -->
    <item name="android:windowSharedElementEnterTransition">@android:transition/move</item>
    <item name="android:windowSharedElementExitTransition">@android:transition/move</item>
</style>

真的
假的
@颜色/原色
@颜色/原色暗
@颜色/颜色重音
styles-v21.xml:

@EActivity(R.layout.activity_main)
public class MainActivity extends AppCompatActivity {

@ViewById
protected Toolbar toolbar;

@AfterInject
public void afterInject() {
    setSupportActionBar(toolbar);
    getSupportActionBar().setDisplayShowHomeEnabled(true);
}
}
<style name="AppTheme" parent="AppTheme.Base"/>

<style name="AppTheme.Base" parent="Theme.AppCompat.Light.DarkActionBar">
    <item name="windowNoTitle">true</item>
    <item name="windowActionBar">false</item>
    <item name="colorPrimary">@color/colorPrimary</item>
    <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
    <item name="colorAccent">@color/colorAccent</item>
</style>
style name="AppTheme" parent="AppTheme.Base">
    <!-- enable window content transitions -->
    <item name="android:windowContentTransitions">true</item>
    <item name="android:windowAllowEnterTransitionOverlap">true</item>
    <item name="android:windowAllowReturnTransitionOverlap">true</item>
    <!-- specify shared element transitions -->
    <item name="android:windowSharedElementEnterTransition">@android:transition/move</item>
    <item name="android:windowSharedElementExitTransition">@android:transition/move</item>
</style>
style name=“AppTheme”parent=“AppTheme.Base”>
真的
真的
真的
@android:过渡/移动
@android:过渡/移动
我已经尝试将父主题设置为.NoActionBar的任何派生,但仍然是。我还尝试从android注释中删除所有代码,并使用
setContentView
findViewById(R.id.toolbar)
以常规方式执行。唯一困扰我的是,我将
windowNoTitle
设置为
true
,但在日志中它说它是
false


有什么帮助吗?

对于其他有此问题的人,我刚刚发现问题: 显然存在另一个名为“AppTheme”的主题。我不知道为什么,如何,但改变我的主题的名称解决了这个问题

这就是我的问题的答案

变化:

<item name="android:windowNoTitle">true</item>
true
致:

true

以您的主要风格复制此代码:


将它们添加到AndroidManifest.xml文件的Activity MainActivity中

像这样

android:name=“.MainActivity”
android:label=“@string/app\u name”
android:theme=“@style/theme.AppCompat.NoActionBar”>

在theme.xml文件中,已设置

<item name="windowNoTitle">false</item>
false
这是错误的。 将其更改为true

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

如果您这样做了,请执行此操作。

检查中的答案。我将它们都添加了,并且效果良好。为什么这是一个如此常见的答案?查看错误日志,它明确表示相反:“windowAcitonBar:false”不受支持。为我工作-在我的情况下,我的项目正在工作,然后我引入了一个自定义视图,它开始像这样崩溃。更改名称解决了该问题。我想象在自定义视图的gradle导入中的某个地方,在从parent=“AppTheme”更改为parent=“Theme.AppCompat.Light.NoActionBar”之后,“AppTheme”的定义起作用了。有什么不同?在我的例子中,它与您的解释相反