Egret社区
问题如下:
     游戏是横屏游戏,使用的5.2.6版本。
     导出安卓环境以后,在未做单独适配的情况下oppo reno3 pro上运行左侧会出现黑边;
     按照OPPO Reno3机型,安卓P以上系统的适配说明做了适配以后,游戏页面左右跳动;

     测试过程中感觉是安卓端做了适配调整,空出了一块区域出来,是不是Egret Native做了什么特殊处理,在监听到游戏加载完成以后自动做了页面调整;

适配使用的参考代码:
      View decorView = getWindow().getDecorView();
        decorView.setSystemUiVisibility(View.SYSTEM_UI_FLAG_FULLSCREEN
                | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
                | View.SYSTEM_UI_FLAG_HIDE_NAVIGATION
                | View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION
                | View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY
        );
        if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) {
            decorView.setOnApplyWindowInsetsListener(new View.OnApplyWindowInsetsListener() {
                @Override
                public WindowInsets onApplyWindowInsets(View v, WindowInsets insets) {
                    WindowManager.LayoutParams windowManagerDu = getWindow().getAttributes();
                    windowManagerDu.layoutInDisplayCutoutMode = WindowManager.LayoutParams.LAYOUT_IN_DISPLAY_CUTOUT_MODE_SHORT_EDGES;
                    getWindow().setAttributes(windowManagerDu);
                    return insets;
                }
            });
        }


      这种情况应该怎么处理?有没有人遇到过?
分享到 :
0 人收藏

4 个回复

倒序浏览
siwenjie  登堂入室 | 7 天前
你这是oppo安卓问题,不是egret的问题,egret的游戏运行在安卓上只有一个surfaceView,setContentView(nativeAndroid.getRootFrameLayout());建议你查一些oppo 安卓的适配资料。
hzppony  登堂入室 | 7 天前
siwenjie 发表于 2020-7-31 10:56
你这是oppo安卓问题,不是egret的问题,egret的游戏运行在安卓上只有一个surfaceView,setContentView(nati ...

我这边调完了以后,在添加之前都是好的,后台了我在onAttachedToWindow断点跟了一下,发现我设置的layoutInDisplayCutoutMode值被改变了,变成LAYOUT_IN_DISPLAY_CUTOUT_MODE_NEVER了,然后我又设置成LAYOUT_IN_DISPLAY_CUTOUT_MODE_SHORT_EDGES,页面在显示不显示标题头之间来回切换,所以我看的效果就是左右跳动
hzppony  登堂入室 | 5 天前

挖孔手机适配layoutInDisplayCutoutMode值会被修改

跳动的原因应该是layoutInDisplayCutoutMode被改变,我设置为LAYOUT_IN_DISPLAY_CUTOUT_MODE_SHORT_EDGES会被修改成LAYOUT_IN_DISPLAY_CUTOUT_MODE_NEVER值。我检查了下我的代码,没有其地方设置成LAYOUT_IN_DISPLAY_CUTOUT_MODE_NEVER。
有没有大神给想想办法怎么处理?或者官方有没有什么版本能够解决这个问题的?

三次值的变化

三次值的变化
siwenjie  登堂入室 | 4 天前
一般如果一个变量,你确定自己没改,被系统改了,说明某个方法被系统或者第三方库同名方法重写了。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

hzppony

登堂入室

积分: 22 帖子: 26 精华: 0

楼主热帖

小黑屋|京网文[2014]0791-191号|京ICP证150115号|Egret社区 ( 京ICP备14025619号 )

Powered by Discuz! X3.4 © 2001-2019 Comsenz Inc.

返回顶部