Android 支持 Design v23 滚动行为错误

Android Support Design v23 scroll behaviour bug

我有以下情况:

一个协调器布局包装了一个 AppbarLayout(里面有内容),另一个子布局是一个包装了 recycleview 的线性布局。

我将 appbar_scrolling_view_behavior 添加到线性布局中,以便与回收器的卷轴做出反应,但是当它到达顶部时,线性布局的第一个子元素会粘在顶部。

我实现了这一点,并且仍然可以在物理设备上完美运行,但不能在模拟器中运行。它在库的最新版本的模拟器中工作。

现在发生的事情是,当我尝试打开该视图时,屏幕开始晃动并且日志输出充满了以下内容:

W/EGL_emulation﹕ eglSurfaceAttrib not implemented
W/OpenGLRenderer﹕ Failed to set EGL_SWAP_BEHAVIOR on surface 0xa1584320, error=EGL_SUCCESS

如果我将行为放在 recylcerview 中,则不会发生此错误,但我不会得到所需的情况。

我会开工单,但是有没有人遇到同样的情况?

经过长时间的调试,我发现这个问题与使用协调器布局和app:layout_behavior="@string/appbar_scrolling_view_behavior"

的主题有关

所以如果我把它设置在我的主题上

<item name="android:windowIsFloating">true</item>

在之前评论的布局中出现了这个错误。

我没有使用 windowsIsFloating,而是将其设置为 false 并强制 activity window 大小

getWindow().setLayout(width, height);

然后就可以正常使用了。