错误:渲染问题android.support.v7.internal.widget.ActionBarOverlayLayout找不到以下类


97

我只是android应用程序开发的初学者。当我在Android Studio 1.1.0上创建新项目时,它放弃了此错误“ 渲染问题找不到以下类android.support.v7.internal.widget.ActionBarOverlayLayout

现在,我已经在Google上进行了搜索,发现大多数人可能提供了3种解决方案。

他们说:

  1. 将api(从预览窗口窗格)从22更改为21,或者

  2. 将应用程序主题从“项目主题”更改为任何其他主题。

  3. 确保在项目结构->依赖项中已导入正确的appcompat-v7库, 请参考以下步骤:将支持库功能项目标识符添加到“依赖项”部分。例如,要包含appcompat项目,请在依赖项部分中添加编译“ com.android.support:appcompat-v7:18.0.+”,如以下示例所示:

dependencies {
    ...
    compile "com.android.support:appcompat-v7:18.0.+" }

注意:我的android支持库是最新的(使用SDK Manager安装)。

按照前两个步骤,删除了错误。但是我觉得这些不是永久性的解决方案,第二步似乎只是一个临时解决方法。我也对第一步感到怀疑,如果要消除错误,我们将api从22更改为21,那么最后,我们的应用程序将无法在Android 5.1.1(API 22)中运行,它将仅限于Android 5.0仅.1以下(API 21)。我的怀疑合法吗?关于第三步,这是否是该问题的永久解决方案?

PS:很抱歉标签不匹配,由于网站的声誉,不允许添加确切的标签


1
对我来说,即使是前两个步骤也无法解决问题……对于所有具有android.support。*视图的布局,我都遇到了“渲染问题”。这真令人沮丧!
user1987392

Answers:


162

像这样修复res / values / styles.xml

<style name="AppTheme" parent="Base.Theme.AppCompat.Light.DarkActionBar"/>

根据要求提供详细说明:Theme.AppCompat.Light.DarkActionBar仍然是超类的子类Base。按住Ctrl键并单击(Android Studio),您将被带到源代码:

<style name="Theme.AppCompat.Light.DarkActionBar" parent="Base.Theme.AppCompat.Light.DarkActionBar" />

我们没有进行任何更改,只是对其进行了更精确的定义。


29
哇,Android Studio开箱即用的体验真是la脚。
沃伦·P

6
如果我想使用“ Theme.AppCompat.Light.NoActionBar”,那该怎么办?
哈西卜·贾杜恩

4
奇怪的是,添加了“ Base”一词。为我工作。“你所有的基地都属于我们。”
SMBiggs

1
也为我工作...我正在使用旧的应用程序,而Base修复了该错误!
Saeid Yazdani

1
为什么精确定义主题可以解决此问题?
罗伯特


16

修改src / res / values / styles.xml

<style name="AppTheme" parent="android:Theme.Holo.Light.DarkActionBar"></style>

然后选择API22,您将发现此问题已解决!


3

发生此错误后,我正在使用:

API-22 Android 5.1.1仍然存在此问题。但是您可以在android studio工具栏的顶部,选择:

Material Light -> Material Light

然后您可以看到带有工具栏和浅色主题的预览。

希望这可以帮助。


1

我通过切换到Holo Dark主题,然后又回到App主题来解决此问题。我只是单击了查看器上方的按钮,该按钮在Android Studio中的旋转视图旁边显示“应用程序主题”。大约有10%的时间,仅此一项是行不通的,我还必须将查看器的API从22更改为19。

不知道为什么这样做有效,但是上面提供的建议对我不起作用。


0

您无需更改主题。也许您正在扩展ActionBarActivity(不建议使用),而不仅仅是Activity。对其进行更改,然后构建项目。


新规则@Kleyton,而不是扩展ActionBarActivity(现已不推荐使用),建议扩展AppCompatActivity(根据google android开发人员页面)。
Ashish Goyal,2015年

0

如果您确实将活动从ActionBarActivity更改为Just Activity,请不要忘记导入Activity本身。那是

导入android.app.Activity

很烂,但是嘿,这是他们的错,而不是我们的错。

您也可以通过按“ AppTheme”简单地更改主题,然后选择Holo.Light.DarkActionBar。它会自动更新styles.xml文件。然后,重建项目。

我做了所有这些工作,但对我却有用,尽管我认为Google和IntelliJ的人应该对这个渲染问题做出一些贡献,因为我们被告知要从Eclipse迁移到Android Studio。


新的规则来了兄弟!建议不要扩展ActionBarActivity(现已弃用),建议扩展AppCompatActivity(根据google android开发人员页面)。
Ashish Goyal,2015年

它与Activity一样工作吗?它可以解决XML呈现问题吗?
Andrecon

根据Google android开发人员页面的规定,它(AppCompatActivity)确实处理了ActionBarActivity曾经做过的一切
Ashish Goyal,2015年
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.