刘海屏介绍:
https://blog.csdn.net/djy1992/article/details/80689308
https://blog.csdn.net/mysimplelove/article/details/81187648
参考工具:
https://github.com/clayx/ChayTestCutout
主要代码
// 主要逻辑(BaseActivity的onCreate()生命周期中,截出部分代码,适配时请参照主版本相应代码)
NotchUtil.isHasCutout(this, new OnCutoutListener() {
@Override
public void isHasCutout(boolean isHas) {
isHasCutout = isHas;
if (isHas) {
if (mContext.getLocalClassName().contains("activity.MainActivity") mContext.getLocalClassName().contains("activity.SplashActivity") ) {
getWindow().clearFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);
NotchUtil.setImmersiveWithNotch(mContext,false,WindowManager.LayoutParams.LAYOUT_IN_DISPLAY_CUTOUT_MODE_SHORT_EDGES);