第一句子网 - 唯美句子、句子迷、好句子大全
第一句子网 > 刘海屏全屏显示(主要是隐藏状态栏且布局在状态栏位置上生效)

刘海屏全屏显示(主要是隐藏状态栏且布局在状态栏位置上生效)

时间:2019-12-10 15:33:04

相关推荐

刘海屏全屏显示(主要是隐藏状态栏且布局在状态栏位置上生效)

我的手机是红米Note 9 刘海屏,其他刘海屏不一定有用,但不妨试一试

其实非刘海屏的话,只需要在清单文件对应的activity下指定一个自定义的theme,theme的内容为以下内容即可

<style name="MyTheme" parent="Theme.AppCompat.Light.NoActionBar"><item name="android:windowFullscreen">true</item></style>

但对于刘海屏,光这样还不够,状态栏倒是隐藏了,但原本状态栏的部分会有一条黑条,页面布局不能在状态栏的位置生效。此时我们需要做一些额外的工作。

首先,我们用代码夺取状态栏位置的使用权

WindowManager.LayoutParams lp = this.getWindow().getAttributes();if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.P) {lp.layoutInDisplayCutoutMode = WindowManager.LayoutParams.LAYOUT_IN_DISPLAY_CUTOUT_MODE_SHORT_EDGES;}getWindow().setAttributes(lp);

然后我们用代码将布局的位置延申到状态栏的位置

getWindow().getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_STABLE| View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN| View.SYSTEM_UI_FLAG_HIDE_NAVIGATION);

大功告成

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。