0

我有以下情况:

一个包含 AppbarLayout(内部包含内容)的协调器布局,另一个子布局是包含回收视图的线性布局。

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

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

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

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

如果我将行为放在 recyclerview 中,那么这个错误就不会发生,但是我没有得到想要的情况。

我会开票,但有人遇到同样的情况吗?

4

1 回答 1

0

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

所以如果我在我的主题上设置这个

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

使用上一条评论的布局会发生此错误。

而不是使用 windowsIsFloating 我将其设置为 false 并强制活动窗口大小

getWindow().setLayout(width, height);

然后它可以正常工作。

于 2015-08-30T15:26:29.920 回答