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

Posted

技术标签:

【中文标题】找不到以下类:android.support.v7.internal.app.WindowDecorActionBar【英文标题】:The following classes could not be found: android.support.v7.internal.app.WindowDecorActionBar 【发布时间】:2016-02-17 22:46:29 【问题描述】:

android Studio 中布局预览出现如下错误的原因是什么?

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

【问题讨论】:

因离题而关闭?严重地?那些投票结束这个问题的人肯定根本不理解这个问题。 【参考方案1】:

操作栏已被弃用并被工具栏取代。话虽如此,如果您想暂时继续使用 Actionbar,可以执行以下操作:

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

我今天遇到了同样的问题,这个解决方案对我有用。仅供参考,虽然我在 Android Studio 中,但希望该解决方案与 Eclipse 类似。

仅供参考,这是一篇关于用工具栏替换操作栏的不错的博客文章,供您在准备好时使用:https://blog.xamarin.com/android-tips-hello-toolbar-goodbye-action-bar/

【讨论】:

没有什么比 Goog 更能从你身下换东西了。再次。很好的发现@joshgoldeneagle! 我在 Android Studio 中创建一个新的默认项目时遇到了这个错误。这解决了它。 经过一天的研究,我终于找到了解决办法。谢谢@joshgoldeneale 如果“Base.Theme.AppCompat.Light.DarkActionBar”不起作用,您应该尝试“Theme.Base.AppCompat.Light.DarkActionBar”,因为它对我有用...... :)(android studio 3.0 .1) 你太棒了【参考方案2】:

我认为您必须在 module 设置中依赖 "com.android.support:appcompat-v7:23.1.1"

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

【讨论】:

【参考方案3】:

这个适合我

在 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

【讨论】:

这行得通,但是当您放置 Base.Theme 时它到底在做什么? Android 引入了工具栏来代替操作栏,这是导致此错误的原因,但通过将其更改为 Base.Theme 您只是解决了问题。默认情况下,它不会自行更改(在当前版本的 Android Studio 中),因此我们必须手动进行。你也可以通过其他人的回答,这也告诉你同样的事情。抱歉,我正忙于项目,所以无法快速回复。【参考方案4】:

goto: res-->values-->styles(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

希望对你有帮助!!!

【讨论】:

【参考方案5】:

我有一个类似的问题,正如许多人所说,自从 ActionBar 被弃用后,诀窍就是指定

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

注意:父级以 .NoActionBar 结尾。

由于 ActionBar 已被弃用,Android 已开始使用 ToolBar,您可以在 developer.android.com 上阅读有关此内容的信息

我尝试指定

<style name="AppTheme.NoActionBar">

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

【讨论】:

【参考方案6】:

我在 Android Studio 1.5 中遇到了同样的问题(即使是 AppCompatActivity),我尝试解决这个问题的方法是将我的 Android Studio 更新到 2.0。它解决了我的问题。您可以在http://tools.android.com/download/studio/canary/latest找到链接下载

【讨论】:

此外,Android Studio 2.0 具有即时运行功能,这在我看来非常酷。我的代码会立即在我的设备中更新。你真的应该试试这个。 只想添加这个问题已经在Android Studio 1.5.1中修复Issue 194975 - android - Spurious warning: WindowDecorActionBar not found - Android Open Source Project - Issue Tracker - Google Project Hosting【参考方案7】:

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

【讨论】:

【参考方案8】:

快速修复

在 UI 预览工具中选择一个没有 AtcionBar 的主题

【讨论】:

【参考方案9】:

你需要把api渲染级别改成17级,可能高级api有渲染问题,可能高级api假设有默认主题,希望你不要指定none。

【讨论】:

【参考方案10】:

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

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

【讨论】:

【参考方案11】:

在 res/values/styles.xml,你会发现你的 AppTheme 如下:-

将其更改为:-

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

【讨论】:

【参考方案12】:

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

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

【讨论】:

以上是关于找不到以下类:android.support.v7.internal.app.WindowDecorActionBar的主要内容,如果未能解决你的问题,请参考以下文章

IllegalStateException:在父或祖先上下文类 android.support.v7.widget.AppCompatButton 中找不到方法 insert(View)

无法实例化以下类:- android.support.v7.widget.Toolbar

膨胀类 android.support.v7.widget.RecyclerView 时出错

proguard 不保留匿名类

膨胀类 android.support.v7.app.MediaRouteButton 时出错

膨胀类 android.support.v7.widget.CardView 时出错