一、设置最大宽高比
1、系统默认最大宽高比为1.86;随着手机市场的发展,这个宽高比已经不能满足需求的,会使部分屏幕宽高比较大的手机出现上下留黑边的情况,增加以下配置可使
mainfest增加配置:
<meta-data android:name="android.max_aspect" android:value="2.4"/>
注意:之前写的是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) {
}