今天我又经历了“机器人”时刻之一,这让我完全一无所知。
我有一个由 DrawerLayout 组成的应用程序,其中包含一个作为 SurfaceView (surfaceViewContainer) 容器的相对布局和作为导航的第二个 ViewGroup(相对布局的子类)。
当应用程序启动时,在 onCreate 中,我会膨胀布局并将 SurfaceView 添加到 surfaceViewContainer。
在配备 4.1.2 的三星 S2 和配备 4.3 的 S3 上,一切正常,我可以看到绘制的 SurfaceView,并且可以通过滑动手势或主页按钮打开和关闭抽屉。然后我在 Android 4.4 上使用 Nexus 5 和 Nexus 10 进行了测试,在这两种设备上抽屉都不会出现。即使按主页按钮也无济于事。
更奇怪的是:我可以在添加 SurfaceView 之前打开抽屉,当我这样做时,即使在添加 SurfaceView 之后我也可以与抽屉交互,即使在 Android 4.4 上也是如此,所以打开/关闭就可以了。
所以我的问题是:有人以前经历过类似的事情或者有一些建议或者知道从 Android 4.3 到 4.4 可能发生了什么变化?!
ps:我已经在其他应用程序中成功使用了 DrawerLayout,只是没有在 SurfaceView 中使用,所以我认为问题就在那里。
Thanks
您是否尝试过在抽屉Layour的drawerListener上使用实现onDrawerSlide,如下所示
@Override
public void onDrawerSlide(View drawerView, float slideOffset)
{
super.onDrawerSlide(drawerView, slideOffset);
mDrawerLayout.bringChildToFront(drawerView);
mDrawerLayout.requestLayout();
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)