DrawerLayout无法使用Android 4.4和SurfaceView

 透明的眼泪2502913707 发布于 2023-02-06 00:21

今天我再次遇到了一个"机器人"时刻,这让我完全无能为力.

我有一个应用程序,它包含一个DrawerLayout,它包含一个RelativeLayout作为SurfaceView(surfaceViewContainer)的容器,另一个ViewGroup(RelativeLayout的子类)作为导航.

当应用程序启动时,在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,所以我认为问题就在那里.

谢谢

1 个回答
  • 您是否曾尝试在drawerLayour的drawerListener上实现onDrawerSlide,就像这样

    @Override
        public void onDrawerSlide(View drawerView, float slideOffset)
        {
            super.onDrawerSlide(drawerView, slideOffset);
            mDrawerLayout.bringChildToFront(drawerView);
            mDrawerLayout.requestLayout();
        }
    

    2023-02-06 00:53 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有