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);  //设置虚拟键的背景颜色
    

    效果:

  • 相关阅读:
    为什么折价溢价的摊销属于借款费用?
    长期待摊费用
    合同负债
    未决诉讼
    AMD Ryzen 3600超频4.3
    强制删除软件
    wallpaper壁纸download下载失败
    ryzen3600超频4.3
    维度规约(降维)算法在WEKA代写中应用
    python代写虎扑社区论坛数据爬虫分析报告
  • 原文地址:https://www.cnblogs.com/frrj/p/14179703.html
Copyright © 2011-2022 走看看