zoukankan      html  css  js  c++  java
  • Android 适配小白条

    开发者这里可以把Android 9及更高版本上的的小白条理解为虚拟按钮,适配方法也一样,这里有四种适配方法,其中部分方法可能在API30中弃用了,请自行替换选择。

    不适配,显示大黑边

    不多解释

    沉浸适配,显示透明黑边

    代码:

    getWindow().addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);
    getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
    getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION);
    

    需要给适配的View添加属性android:fitsSystemWindows="true"

    When this flag is enabled for a window, it automatically sets the system UI visibility flags View#SYSTEM_UI_FLAG_LAYOUT_STABLE and View#SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN.

    效果显示:

    沉浸适配,无黑边

    代码

        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
        );
    

    需要给适配的View添加属性android:fitsSystemWindows="true"

    效果:

    给虚拟键设置颜色

    代码:

        getWindow().addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);
        getWindow().setStatusBarColor(Color.BLUE);     //设置状态栏的背景颜色
        getWindow().setNavigationBarColor(Color.BLUE);  //设置虚拟键的背景颜色
    

    效果:

  • 相关阅读:
    17。3.12---re模块--正则表达式操作指南
    17.3.12---还有未整理的模块
    17.3.12---xmlrpclib模块
    17.3.12----math模块
    17.3.12--smtplib模块发送邮件__抄送,安装与下载
    17.3.12---logging日志模块level配置操作
    17.3.12---urlparse模块的URL下载
    17.3.12---socket
    17.3.12--urllib2模块
    SQLSERVER 中的共用表达式(CTE)
  • 原文地址:https://www.cnblogs.com/frrj/p/14179703.html
Copyright © 2011-2022 走看看