渲染期间引发异常:无法找到操作栏的布局

时间:2015-04-09 10:21:58

标签: android android-studio

刚才使用Android Studio时我在编辑器中编辑了一个XML文件,我在预览和设计窗口中遇到了这个错误:

 Exception raised during rendering: Unable to find the layout for Action Bar.

我尝试重新启动Android Studio,笔记本电脑和谷歌搜索,但我找不到任何东西。有没有人经历过类似的事情?

7 个答案:

答案 0 :(得分:78)

我有这种错误。在我的Mac上,有API 22.如果我选择它,将出现此错误。因此,点击API 21或更低版本可以解决您的问题

enter image description here

您可能需要更新工具

答案 1 :(得分:14)

使用Eclipse的人可能会尝试选择Theme.DeviceDefault来消除异常。 更新:根据评论,这也适用于Android Studio。 enter image description here

答案 2 :(得分:7)

您可以通过两种方式解决此问题

  

从标签中更改API,从可用中选择其中一个或选择PICK UP BEST或更改最低标准

Select API from the available

  

如果第一个解决方案不起作用,请更改主题

enter image description here

答案 3 :(得分:2)

单击编辑器中的主题并更改主题:

click on theme in editor and change the theme

我的问题在此之后解决了

答案 4 :(得分:1)

我在eclipse-3.8,adt-23.07,sdk-tools-23.1,appcompat_v7_r19.1上遇到了这个错误。

在分析错误后,我发现问题出在了 android-sdk-linux / platforms / android-23 / data / layoutlib.jar:com / android / layoutlib / bridge / impl / Layout.class on createActionBar in line if (this.mBuilder.isThemeAppCompat())

我的解决方案:

  1. (没有源,所以)反编译Layout.class - > Layout.java
  2. 编辑Layout.java,添加方法:
  3. 
    
        private boolean hasWindowDecorActionBar(SessionParams params) {
            LayoutlibCallback callback = params.getLayoutlibCallback();
            try {
                callback.findClass("android.support.v7.app.WindowDecorActionBar");
            } catch (ClassNotFoundException ei) {
                try {
                    callback.findClass("android.support.v7.internal.app.WindowDecorActionBar");
                } catch (ClassNotFoundException e) {
                    return false;
                }
            }
            return true;
        }
    
    
    1. 找到行if (this.mBuilder.isThemeAppCompat()),然后更改为:
    2. 
          if (this.mBuilder.isThemeAppCompat() && hasWindowDecorActionBar(params))
      
      
      1. 重新编译Layout.java - > Layout.class和Layout $ Builder.class
      2. 使用新类更新layoutlib.jar
      3. 重启eclipse
      4. 这就是全部。现在,我可以使用API​​-23渲染所有与appcompat_v7_r19.1相关联的旧应用布局。

答案 5 :(得分:0)

你想做干净的项目。

答案 6 :(得分:-1)

我认为这是一个错误,直到现在还没有最终的解决方案, 更改为API比API-22更少是临时解决方案而不是更多。