android适应全面屏

一、设置最大宽高比
1、系统默认最大宽高比为1.86;随着手机市场的发展,这个宽高比已经不能满足需求的,会使部分屏幕宽高比较大的手机出现上下留黑边的情况,增加以下配置可使
mainfest增加配置:

注意:之前写的是2.1,但是小米商城没有过审,原因是红米一款新手机上下有黑边,该手机的宽高比已超过2.1
二、适配刘海屏
1、谷歌官方在Android p推出刘海屏适配的方法:
使布局顶到刘海的旁边,全面屏展示

//全屏显示
        getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_FULLSCREEN | View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN);

        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) {
            WindowManager.LayoutParams lp = getWindow().getAttributes();
            lp.layoutInDisplayCutoutMode = WindowManager.LayoutParams.LAYOUT_IN_DISPLAY_CUTOUT_MODE_SHORT_EDGES;
            getWindow().setAttributes(lp);
        }

2、Android p以下需要适配各厂商的适配方法
(1)小米:

            try {
                int flag = 0x00000100 | 0x00000200 | 0x00000400;
                Method method = Window.class.getMethod("addExtraFlags",int.class);
                method.invoke(getWindow(), flag);
            } catch (Exception e) {

            }

你可能感兴趣的:(android适应全面屏)