安卓背景遇到水滴屏全面屏显示不全的解决方案

2020-08-14  本文已影响0人  findTrueLoveByM

未做处理之前设置背景如图,无法填充满屏幕底部留有空隙

Screenshot_2020-08-13-16-12-58-315_com.change.the.jpg
需要在activityoncreate中加入
斜体 加入代码
粗体 加入代码

使用Windows里面的方法

第一种方法:
getWindow().addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);
        getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);       //设置沉浸式状态栏,在MIUI系统中,状态栏背景透明。原生系统中,状态栏背景半透明。
        getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION);   //设置沉浸式虚拟键,在MIUI系统中,虚拟键背景透明。原生系统中,虚拟键背景半透明。

//第二种方法:
getWindow().addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);
    getWindow().setStatusBarColor(Color.TRANSPARENT);
    getWindow().setNavigationBarColor(Color.TRANSPARENT);
    getWindow().getDecorView().setSystemUiVisibility(
        View.SYSTEM_UI_FLAG_LAYOUT_STABLE|
        View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN|
        View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION

加入以上代码如图

Screenshot_2020-08-13-16-18-34-684_com.change.the.jpg

此时可能存在问题app状态栏和虚拟键盘会挡住app,如果不希望app的内容被遮挡,可以给view设置 android:fitsSystemWindows="true",设置之后,系统会给该view自动加上paddingTop和paddingBottom。参考代码和效果如下:

斜体
粗体

引用段落
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity"
android:fitsSystemWindows="true">

- 列表第一项此时底部会留有空隙,要看具体需求状态栏和物理键盘颜色可以
![Screenshot_2020-08-13-16-12-58-315_com.change.the.jpg](https://img.haomeiwen.com/i2252359/5a807d179ec46dcb.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

上一篇 下一篇

猜你喜欢

热点阅读