inappbrowser在安卓android打开时顶部状态栏被收起的解决方案

[Android] Statusbar disappear after inappbrowser window opened (go in full screen)

在使用inappbrowser时,打开开发现顶部的状态栏在部分安卓变成了黑色,部分则无显示出来。
实际上是被收起来了不显示,可通过修改组件代码进行解决。

找到InAppBrowser.java大概在811行处(因为每个版本的位置有差异),找到以下代码片段

if (fullscreen) {
   dialog.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);
}

替换成下面代码,则实现透明导航栏,使用应用的背景色

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
    dialog.getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);//设置透明状态栏
    dialog.getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION);//设置透明导航栏
}

如若设置导航栏为其他色,如下:

// 此段未验证,不生效?
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { 
    dialog.getWindow().setStatusBarColor(Color.TRANSPARENT);//将状态栏设置成透明色或者其他色
    dialog.getWindow().setNavigationBarColor(Color.TRANSPARENT);//将导航栏设置为透明色或者其他色
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值