如果有缺口,我需要修改应用程序的工具栏。现在这个缺口隐藏了工具栏中的一点内容。
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()
请参阅显示切断支持文档。