简体   繁体   English

工具栏不可见“无法使用CoordinatorLayout制作装饰工具栏”

[英]Toolbar not Visible “Can't make a decor toolbar out of CoordinatorLayout”

So the app works fine in android 7.0, but the toolbar is not Visible in android 4.4 kitkat. 因此,该应用程序在android 7.0中运行良好,但在android 4.4 kitkat中工具栏不可见。 The toolbar is still there as navigation drawer still opens if user clicks on blank space where hamburger icon should have been. 如果用户单击应该包含汉堡包图标的空白区域,则导航抽屉仍将打开,工具栏仍然存在。

The render error is there in activity xml file which includes a app_bar_layout xml file where the error is pointing to. 活动xml文件中包含渲染错误,该文件包含错误所指向的app_bar_layout xml文件。

This is the error in XML render issue: 这是XML渲染问题中的错误:

//Exception raised during rendering: Can't make a decor toolbar out of CoordinatorLayout

java.lang.IllegalStateException: Can't make a decor toolbar out of CoordinatorLayout
at android.support.v7.widget.ActionBarOverlayLayout.getDecorToolbar(ActionBarOverlayLayout.java:543)
at android.support.v7.widget.ActionBarOverlayLayout.pullChildren(ActionBarOverlayLayout.java:532)
at android.support.v7.widget.ActionBarOverlayLayout.fitSystemWindows(ActionBarOverlayLayout.java:282)
at android.view.View.onApplyWindowInsets(View.java:7755)
at android.view.View.dispatchApplyWindowInsets(View.java:7809)
at android.view.ViewGroup.dispatchApplyWindowInsets(ViewGroup.java:6435)
at android.view.ViewGroup.dispatchApplyWindowInsets(ViewGroup.java:6439)
at android.view.ViewRootImpl.dispatchApplyInsets(ViewRootImpl.java:1422)
at android.view.ViewRootImpl_Accessor.dispatchApplyInsets(ViewRootImpl_Accessor.java:24)
at com.android.layoutlib.bridge.impl.Layout.requestFitSystemWindows(Layout.java:315)
at android.view.View.requestFitSystemWindows(View.java:7945)
at android.view.View.requestFitSystemWindows(View.java:7945)
at android.view.View.requestFitSystemWindows(View.java:7945)
at android.view.View.requestFitSystemWindows(View.java:7945)
at android.view.View.requestApplyInsets(View.java:7953)
at android.support.v4.view.ViewCompatLollipop.requestApplyInsets(ViewCompatLollipop.java:49)
at android.support.v4.view.ViewCompat$LollipopViewCompatImpl.requestApplyInsets(ViewCompat.java:1630)
at android.support.v4.view.ViewCompat.requestApplyInsets(ViewCompat.java:2970)
at android.support.design.widget.CoordinatorLayout.onAttachedToWindow(CoordinatorLayout.java:246)
at android.view.View.dispatchAttachedToWindow(View.java:15395)
at android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:2953)
at android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:2960)
at android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:2960)
at android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:2960)
at android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:2960)
at android.view.AttachInfo_Accessor.setAttachInfo(AttachInfo_Accessor.java:42)
at com.android.layoutlib.bridge.impl.RenderSessionImpl.inflate(RenderSessionImpl.java:333)
at com.android.layoutlib.bridge.Bridge.createSession(Bridge.java:429)
at com.android.ide.common.rendering.LayoutLibrary.createSession(LayoutLibrary.java:368)
at com.android.tools.idea.rendering.RenderTask$2.compute(RenderTask.java:567)
at com.android.tools.idea.rendering.RenderTask$2.compute(RenderTask.java:549)
at com.intellij.openapi.application.impl.ApplicationImpl.runReadAction(ApplicationImpl.java:863)
at com.android.tools.idea.rendering.RenderTask.createRenderSession(RenderTask.java:549)
at com.android.tools.idea.rendering.RenderTask.lambda$inflate$1(RenderTask.java:680)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)

I tried changing the coordinate layout to other layouts but it didn't work. 我尝试将坐标布局更改为其他布局,但是没有用。

You probably have android:id attribute when including toolbar's layout like this: 当包含如下所示的工具栏布局时,您可能具有android:id属性:

<include
    android:id="@+id/toolbar_layout"
    layout="@layout/toolbar" />

I just removed id to get this code: 我刚刚删除了ID以获取以下代码:

<include
    layout="@layout/toolbar" />

Then I force refreshed layout. 然后,我强制刷新布局。 You can do it here . 你可以在这里做。

It worked for me. 它为我工作。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM