Android AppCompat不支持当前的主题功能-没有任何功能可用
我试图在我的项目中使用MaterialDesign,但我一直都遇到这个错误: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
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”的定义起作用了。有什么不同?在我的例子中,它与您的解释相反