ionic2/3/cordova - 沉浸式状态栏、导航栏

前言

  • 需要修改StatusBar.java文件
  • 修改的内容如下:


    StatusBar.java
  • 添加内容代码
// ==================== 添加内容start ====================
// /**
//  * 初始化状态栏相关,
//  * PS: 设置全屏需要在调用super.onCreate(arg0);之前设置setIsFullScreen(true);否则在Android 6.0下非全屏的activity会出错;
//  * SDK19:可以设置状态栏透明,但是半透明的SYSTEM_BAR_BACKGROUNDS会不好看;
//  * SDK21:可以设置状态栏颜色,并且可以清除SYSTEM_BAR_BACKGROUNDS,但是不能设置状态栏字体颜色(默认的白色字体在浅色背景下看不清楚);
//  * SDK23:可以设置状态栏为浅色(SYSTEM_UI_FLAG_LIGHT_STATUS_BAR),字体就回反转为黑色。
//  * 为兼容目前效果,仅在SDK23才显示沉浸式。
//  */

// 透明状态栏
window.addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
// 状态栏字体设置为深色,SYSTEM_UI_FLAG_LIGHT_STATUS_BAR 为SDK23增加
window.getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN | View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR);

// 透明导航栏(返回键、主页键、任务栏)
// window.addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION);

// 部分机型的statusbar会有半透明的黑色背景
window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);

// 设置状态栏颜色为透明
window.setStatusBarColor(Color.TRANSPARENT);
// 设置导航栏颜色为透明
// window.setNavigationBarColor(Color.TRANSPARENT);

// ==================== 添加内容end ====================

实现

  • 在如下图目录中找到StatusBar.java文件

    目录

  • 编辑修改initialize方法中的run方法:

    StatusBar.java

  • app.scss中加入样式:

.platform-android {
  // 沉浸式状态栏,设置header留出状态栏的位置
  ion-header {
    padding-top: #{$cordova-md-statusbar-padding};
    background-color: color($colors, head-color);
  }
  .immersive {
    padding-top: #{$cordova-md-statusbar-padding};
  }
}
.platform-ios {
  // 沉浸式状态栏,设置header留出状态栏的位置
  ion-header {
    padding-top: #{$cordova-ios-statusbar-padding};
    background-color: color($colors, head-color);
  }
  .immersive {
    padding-top: #{$cordova-ios-statusbar-padding};
  }
}
  • 欧了

说明

  • 因为在设置了沉浸式状态栏后,状态栏内容会覆盖header的内容,所以设置样式将状态栏的位置留出来。
  • 如果设置了沉浸式导航栏,在导航栏为虚拟按键的手机中,导航栏会覆盖app中的tabs,所以导航栏不建议设置沉浸式。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1、通过CocoaPods安装项目名称项目信息 AFNetworking网络请求组件 FMDB本地数据库组件 SD...
    阳明AGI阅读 16,018评论 3 119
  • 这次苹果针对的主要是借贷app和理财app。 基本一刀切,1000个里面有999个通不过,无论是上新包还是更新都无...
    西门吹雪_17bd阅读 11,061评论 5 8
  • 今天的总体感觉是不错的,在自己的能力范围之内,让自己做到最好,当所有人都在做的时候,我总是不屑于去做的,但是,别人...
    簡清阅读 194评论 0 1
  • 在外面聊天,老公视频电话过来,说要我爸妈的身份证还是什么,我跟他说,你打字过来,我看清楚了再发给你,十分钟过去了,...
    星月菩提子阅读 172评论 0 0
  • 在传统占星学中,让星光体七种势力均衡运作的第八中力量,取决于我们对出生星盘的七大行星位置和关系所构成的七种...
    达泰吉阅读 341评论 0 0