竖屏游戏在长屏幕手机的刘海挖空区域不能显示游戏内容的解决方案
Google 为刘海屏显示方式提供了三种显示模式:
// 默认情况,全屏页面不可用刘海区域,非全屏页面可以进行使用
LAYOUT_IN_DISPLAY_CUTOUT_MODE_DEFAULT;
// 允许页面延伸到刘海区域
LAYOUT_IN_DISPLAY_CUTOUT_MODE_SHORT_EDGES;
// 不允许使用刘海区域
LAYOUT_IN_DISPLAY_CUTOUT_MODE_NEVER;
在AppActivity的onCreate函数里添加动态适配刘海代码如下
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
if (Build.VERSION.SDK_INT >= 28) {
WindowManager.LayoutParams lp = getWindow().getAttributes();
lp.layoutInDisplayCutoutMode = WindowManager.LayoutParams.LAYOUT_IN_DISPLAY_CUTOUT_MODE_SHORT_EDGES;
getWindow().setAttributes(lp);
}
}
检查gradle.properties里PROP_COMPILE_SDK_VERSION的值是否大于等于28(确保大于等于28,否则将缺少layoutInDisplayCutoutMode变量无法编译)