android - 工具栏不可见 "Can' t 用 CoordinatorLayout 制作装饰工具栏”

标签 android android-layout

因此该应用程序在 android 7.0 中运行良好,但工具栏在 android 4.4 kitkat 中不可见。如果用户单击汉堡包图标应该在的空白区域,则工具栏仍然存在,因为抽屉导航仍然打开。

渲染错误存在于 Activity xml 文件中,其中包含错误指向的 app_bar_layout xml 文件。

这是 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)

我尝试将坐标布局更改为其他布局,但没有成功。

最佳答案

当包含这样的工具栏布局时,您可能具有 android:id 属性:

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

我刚刚删除了 id 以获取此代码:

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

然后我强制刷新布局。你能行的 here .

它对我有用。

关于android - 工具栏不可见 "Can' t 用 CoordinatorLayout 制作装饰工具栏”,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47115926/

相关文章:

android - Android 中的样式继承

android - 带有单选组错误的 ListView

android - 如何在应用程序中维护 fragment 的状态

android - 在 Android/多线程上实现 JmDNS

android - 无法在 Android 的 ndk-gdb 中达到断点

android - 更改可聚焦 ViewGroup 中元素的阅读顺序

android - 像屏幕保护程序一样更改渐变颜色?

android - SlidingTabLayout 背景色

android - 更新 Android Studio 3.1 后,每次构建后我都会收到这些警告

android - 如何像 Facebook 个人资料图片选择工具那样移动和缩放图片?