美文网首页
安卓背景遇到水滴屏全面屏显示不全的解决方案

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

作者: findTrueLoveByM | 来源:发表于2020-08-14 09:30 被阅读0次

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

    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)
    
    

    相关文章

      网友评论

          本文标题:安卓背景遇到水滴屏全面屏显示不全的解决方案

          本文链接:https://www.haomeiwen.com/subject/ahfidktx.html