找不到以下类:android.support.v7.internal.app.WindowDecorActionBar


114

是什么导致Android Studio中的布局预览出现以下错误?

渲染问题找不到以下类:-android.support.v7.internal.app.WindowDecorActionBar(修复构建路径,创建类)提示:尝试构建项目。


14
关闭为题外话?认真吗?那些投票决定关闭这一点的人绝对根本不理解这个问题。
Jahid

Answers:


273

不推荐使用操作栏,而由工具栏代替。话虽如此,如果您现在想继续使用Actionbar,可以执行以下操作:

  1. 在res文件夹内的values文件夹中打开styles.xml。
  2. 在主题名称的开头添加单词Base,使其读为“ Base.Theme.AppCompat.Light.DarkActionBar”

在此处输入图片说明

今天我遇到了同样的问题,该解决方案对我来说很有效。仅供参考,尽管我在Android Studio中,但希望该解决方案与Eclipse类似。

仅供参考,以下是一篇不错的博客文章,内容涉及准备就绪时用工具栏替换操作栏的信息:https ://blog.xamarin.com/android-tips-hello-toolbar-goodbye-action-bar/


8
没有什么比Goog能够从您的身下改变东西了。再次。很高兴发现@joshgoldeneagle!
saywhatnow

7
我在Android Studio中创建一个新的默认项目时遇到了此错误。这解决了。
AutonomousApps

经过一天的研究,终于找到了解决方案。感谢@joshgoldeneale
Abish R

如果“ Base.Theme.AppCompat.Light.DarkActionBar”不起作用,则应尝试“ Theme.Base.AppCompat.Light.DarkActionBar”,因为它对我有用... :)(android studio 3.0.1)
Mang Jojot

您真棒
Naveed Ahmad

46

我认为您必须取决于"com.android.support:appcompat-v7:23.1.1"您的module设置。

ActionBar 已不推荐使用。

只需在“ build.gradle”中将依赖项从更改为'com.android.support:appcompat-v7:23.1.1'即可。'com.android.support:appcompat-v7:23.0.1'

您还可以将样式父项更改为"Theme.AppCompat.Light.NoActionBar"

尝试使用Toolbar代替ActionBar


32

这个对我有用

在res / values / styles.xml中更改AppTheme父级可以解决此问题。更换

<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<!-- Customize your theme here. -->
</style>

<style name="AppTheme" parent="Base.Theme.AppCompat.Light.DarkActionBar">
<!-- Customize your theme here. -->
</style>

或者,您可以从列表中更改API级别21


6
那行得通,但是当您放置Base.Theme时,它到底在做什么?
Micro

Android引入了工具栏来代替操作栏,这是导致此错误的原因,但是将其更改为Base.Theme即可解决问题。默认情况下,它不会自行更改(在当前版本的Android Studio中),因此我们必须手动进行。您还可以通过其他答案来告诉您相同的内容。抱歉,我在项目中很忙,所以无法快速回复。
Ravikant Paudel '16

9

转到:res->值->样式(V21)->

<style name="AppTheme.NoActionBar">
    <item name="windowActionBar">false</item>
    <item name="windowNoTitle">true</item>
    <item name="android:windowDrawsSystemBarBackgrounds">true</item>
    <item name="android:statusBarColor">@android:color/transparent</item>
</style>

Apptheme.NoActionBar预览中选择您的主题。因为描述过ActionBar,欢迎回到ToolBar。无需更改中的依赖项build.gradle(Module:app)。从com.android.support:appcompat-v7:23.1.1com.android.support:appcompat-v7:23.0.1

希望这个能对您有所帮助!!!


8

我有一个类似的问题,自ActionBar被弃用以来,许多人都说过,窍门是指定

<style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">

注意:父项以.NoActionBar结尾。

由于不推荐使用ActionBar,因此Android已使用ToolBar,您可以在developer.android.com上了解有关此工具的信息。

我尝试指定

<style name="AppTheme.NoActionBar">

如另一篇文章所述,这引发了错误。尽管其他人可能没有这个问题。


4

我在Android Studio 1.5(甚至使用AppCompatActivity)中也遇到了同样的问题,而解决该问题的尝试是将Android Studio更新到2.0。它解决了我的问题。您可以在以下位置找到链接下载:http : //tools.android.com/download/studio/canary/latest


此外,Android Studio 2.0可以即时运行,我认为这非常酷。我的代码会立即在我的设备中更新。您应该真的尝试一下。
ninjahoahong

3
只是想添加此问题已在Android Studio 1.5.1 Issue 194975中
Vdragon 2015年

3

感谢@joshgoldeneagle,为我在AS v1.4中工作。在AS中也有效的是打开“ build.gradle(Module.app)”并将版本从v7.23.1.1更改为v7.23.0.1 -hth



2

您将需要将api渲染级别更改为17,更高级别的api可能存在渲染问题,可能更高级别的api假定具有默认主题,并且希望您未指定任何主题。

在此处输入图片说明


1

对于AS v1.4,在styles.xml文件夹中的Theme.AppCompat.Light.DarkActionBar之前添加“ Base”解决了该问题

另外,更新到AS v2.1也解决了该问题。哪个更可能取决于协作者及其AS版本。


0

在res / values / styles.xml中,您将找到如下的AppTheme:-

将其更改为:-

通过添加“基本”,渲染问题将得到解决。


0

更改清单中的主题可以解决我的问题。

 <style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.