最近做了个基于Cordova的webapp,发现个很奇怪的问题,就是在android下状态栏覆盖webview并且透明的效果!小白纯web前端,不懂原生,网上看了一些资料找了一些代码,大致上实现了。但有个奇怪的问题!
//实现的代码
window.addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);
window.setStatusBarColor(Color.TRANSPARENT);
window.setNavigationBarColor(Color.TRANSPARENT);
window.getDecorView().setSystemUiVisibility( View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN|View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR);
window.clearFlags(WindowManager.LayoutParams.FLAG_FORCE_NOT_FULLSCREEN);
效果一:
好像不能完全透明,有一个黑白渐变的样式!
效果二:(同一台手机)
(同一部手机)这才是完全透明效果!
反正就是很奇怪,有时候打开app能完全透明,有时候又会出现上面那种渐变 ........
并且在出现渐变的时候 只要锁屏下再打开手机 就能完全透明了 搞不懂 00.
上看手机是华为met 7 其他android 也测过,都有这个问题。望各位大神能指点迷津,万分感谢?
浸入式效果在有一些手机上面是会有黑白渐变,比如华为,而有些手机没有,比如魅族。
但是你这种在同一部手机上面呈现不同效果的情况暂不了解,或者你可以试试用静态的方法设置
Activity
的theme
来达到浸入式效果: