【问题标题】:ERROR :rendering problems The following classes could not be found android.support.v7.internal.widget.ActionBarOverlayLayout错误:渲染问题找不到以下类android.support.v7.internal.widget.ActionBarOverlayLayout
【发布时间】:2015-04-27 05:18:19
【问题描述】:

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

现在我在谷歌上搜索了这个,我发现大多数人给出的可能是 3 个解决方案。

他们说:

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

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

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

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

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

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

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

【问题讨论】:

  • 对我来说,即使是前两个步骤也不能解决问题......我遇到了所有具有来自 android.support.* 视图的布局的“渲染问题”。这令人沮丧!

标签: android android-layout android-support-library


【解决方案1】:

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

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

根据要求进行详细解释:Theme.AppCompat.Light.DarkActionBar 无论如何都是超类Base 的子类。 Ctrl+click (Android Studio) 就可以跳转到源码了:

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

我们没有改变任何东西,只是更精确地定义了它。

【讨论】:

  • 哇,Android Studio 中开箱即用的体验真是太糟糕了。
  • 如果我想使用“Theme.AppCompat.Light.NoActionBar”然后呢?
  • 奇怪的是,添加了“Base”这个词。为我工作。 “你所有的基地都属于我们。”
  • 也为我工作...我正在开发一个旧应用程序,而 Base 修复了错误!
  • 为什么精确定义主题可以解决问题?
【解决方案2】:

这是自 Android Studio build 1.1 以来的一个已知错误(它还在 1.2 和 1.3 预览版中)。将预览版的 API 级别从 22 切换到 21 可以解决大多数人的问题。在等待修复时,您也可以尝试一下。

最初在这里回答:Rendering problems in Android Studio v 1.1 / 1.2

只是转发

【讨论】:

    【解决方案3】:

    修改src/res/values/styles.xml

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

    然后选择API22,你会发现这个问题已经解决了!

    【讨论】:

      【解决方案4】:

      出现此错误后,我正在使用:

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

      Material Light -> Material Light
      

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

      希望这会有所帮助。

      【讨论】:

        【解决方案5】:

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

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

        【讨论】:

          【解决方案6】:

          您无需更改主题。也许您正在扩展 ActionBarActivity(已弃用)而不仅仅是 Activity。更改它,然后构建项目。

          【讨论】:

          • 新规则@Kleyton,建议不要扩展ActionBarActivity(现已弃用),而是扩展AppCompatActivity(根据google android开发者页面)。
          【解决方案7】:

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

          导入android.app.Activity

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

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

          我做了所有这些,它对我有用,尽管我认为 Google 和 IntelliJ 的他们应该对这个渲染问题做点什么,因为我们被告知要从 Eclipse 迁移到 Android Studio

          【讨论】:

          • 新规则出来了兄弟!建议不要扩展 ActionBarActivity(现已弃用),而是扩展 AppCompatActivity(根据 google android 开发者页面)。
          • 它的工作方式与 Activity 相同吗?它是否处理 XML 呈现问题?
          • 根据 google android 开发者页面,它 (AppCompatActivity) 确实处理了 ActionBarActivity 过去所做的一切
          猜你喜欢
          • 2016-10-28
          • 1970-01-01
          • 2019-12-05
          • 1970-01-01
          • 2015-05-25
          • 2016-02-23
          • 1970-01-01
          • 2016-03-02
          相关资源
          最近更新 更多