找不到以下类: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.1
到com.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 时出错