如果有缺口,我需要修改应用程序的工具栏。现在这个缺口隐藏了工具栏中的一点内容。

 if (Build.VERSION.SDK_INT == Build.VERSION_CODES.LOLLIPOP || Build.VERSION.SDK_INT == Build.VERSION_CODES.M) {
        setTheme(R.style.AppTheme_NoActionBarHello);
        getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
        SystemBarTintManager tintManager = new SystemBarTintManager(this);
        tintManager.setStatusBarTintEnabled(true);
        tintManager.setTintColor(ContextCompat.getColor(this, R.color.white));
    } else initStatusBar();

initStatusBar方法
private void initStatusBar() {

    Window window = getWindow();

    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT && Build.VERSION.SDK_INT < Build.VERSION_CODES.LOLLIPOP) {
        window.addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
        SystemBarTintManager tintManager = new SystemBarTintManager(this);
        tintManager.setStatusBarTintEnabled(true);
        tintManager.setTintColor(ContextCompat.getColor(this, R.color.white));
    }
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
        Window w = getWindow(); // in Activity's onCreate() for instance
        w.setFlags(WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS, WindowManager.LayoutParams.FLAG_LAYOUT_NO_LIMITS);
    }

}

我的应用程序中没有任何通知栏。工具栏本身覆盖了所有白色区域,以实现使用上述代码保持兼容。
但是notch带来了一些新的问题。
现在的问题是摩托罗拉One Power。
感谢帮助。如果你需要额外的东西,请告诉我。
谢谢

最佳答案

您可以通过以下方式获取DisplayCutout对象:
windowinsets.getDisplayCutout()
请参阅显示切断支持文档。

10-07 12:40