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

Sye*_*yex 43 android

我正在尝试在我的项目中使用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)
Run Code Online (Sandbox Code Playgroud)

我已经解决了类似的问题,但每次我都遇到同样的错误.

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);
}
}
Run Code Online (Sandbox Code Playgroud)

styles.xml:

<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>
Run Code Online (Sandbox Code Playgroud)

款式 - v21.xml:

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>
Run Code Online (Sandbox Code Playgroud)

我已经尝试将父主题设置为.NoActionBar的任何派生,但仍然如此.我也尝试从AndroidAnnotations中删除所有代码并使用setContentView和常规方式执行此操作findViewById(R.id.toolbar).只有那些困扰我的事情,是我所windowNoTitletrue,但在登录它说,这是false.

有帮助吗?

ojo*_*ifu 117

更改:

<item name="android:windowNoTitle">true</item>
Run Code Online (Sandbox Code Playgroud)

至:

<item name="windowNoTitle">true</item>
Run Code Online (Sandbox Code Playgroud)

  • 有什么不同 (2认同)

Sye*_*yex 14

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

这是我的问题的答案.