我只是Android应用开发的初学者。当我在Android Studio 1.1.0上创建一个新项目时, 它放弃了这个错误 “渲染问题 无法找到以下类:android.support.v7.internal.widget.ActionBarOverlayLayout “
现在我在google上搜索了这个,我发现大多数人可能会给出3个解决方案。
他们说:
将api(从预览窗口窗格)更改为22到21,或
将应用主题从“项目主题”更改为任何其他主题。
请务必在项目结构中导入正确的appcompat-v7库 - >依赖关系, 参考以下步骤 : 将支持库功能项目标识符添加到依赖项部分。例如,要包含appcompat项目,请将compile“com.android.support:appcompat-v7:18.0.+”添加到依赖项部分,如以下示例所示:
dependencies { ... compile "com.android.support:appcompat-v7:18.0.+" }
注意:我的android支持lib是最新的(使用SDK Manager安装)。
执行前两个步骤后,删除了错误。但我觉得这些不是永久的解决方案,第二步似乎就像一个临时的解决方法。我对第一步也有疑问,如果要删除错误,我们将api从22更改为21,最后,我们的应用程序将无法在Android 5.1.1(API 22)中运行,它将仅限于Android 5.0 .1及以下(API 21)。我的疑惑有效吗? 关于第三步,它是这个问题的永久解决方案吗?
P.S:对于不匹配的标签,由于网站声誉,不允许添加确切的标签
答案 0 :(得分:163)
修复 res / values / styles.xml ,如下所示:
Theme.AppCompat.Light.DarkActionBar
按要求详细说明:Base
无论如何都是超类<style name="Theme.AppCompat.Light.DarkActionBar" parent="Base.Theme.AppCompat.Light.DarkActionBar" />
的子类。按住Ctrl键并单击(Android Studio),您将进入源:
while(true)
我们没有做任何改变,我们只是更准确地定义了它。
答案 1 :(得分:28)
这是自Android Studio build 1.1以来的已知错误(它仍然在1.2和1.3预览版中)。将预览的API级别从22更改为21可以修复大多数人的问题。在等待修复时,您也可以尝试。
最初在这里回答:Rendering problems in Android Studio v 1.1 / 1.2
刚刚重新发布
答案 2 :(得分:16)
修改src / res / values / styles.xml
<style name="AppTheme" parent="android:Theme.Holo.Light.DarkActionBar"></style>
然后选择API22,您将发现此问题已修复!
答案 3 :(得分:3)
发生此错误后,我正在使用:
API-22 Android 5.1.1仍然存在这个问题。但是你可以在android studio工具栏的顶部选择:
Material Light -> Material Light
然后您可以使用工具栏和灯光主题查看预览。
希望这有帮助。
答案 4 :(得分:1)
我通过切换到Holo Dark主题,然后回到App主题来修复此问题。我只是点击了查看器上方的按钮,该按钮在Android Studio的旋转视图旁边显示了应用主题。大约有10%的时间,单靠这一点并不起作用,我还必须将观众的API从22改为19。
不知道为什么会这样,但上面提供的建议对我不起作用。
答案 5 :(得分:0)
您无需更改主题。也许你正在扩展ActionBarActivity(不推荐使用)而不仅仅是Activity。改变它,并建立项目。
答案 6 :(得分:0)
如果您确实将活动从ActionBarActivity更改为仅活动,请不要忘记导入活动本身。那是
导入android.app.Activity
这很糟糕但是嘿,这是他们的错,而不是我们的。
此外,您只需按下&#34; AppTheme&#34;即可更改主题。并选择Holo.Light.DarkActionBar。它会自动更新styles.xml文件。之后,重建项目。
我做了所有这些并且它适用于我虽然我认为他们谷歌和IntelliJ应该对这个渲染问题做一些事情,因为我们被告知从Eclipse迁移到Android Studio