Android4.2如何让StatusBar透明

Posted

技术标签:

【中文标题】Android4.2如何让StatusBar透明【英文标题】:How to make the StatusBar transparent on Android4.2 【发布时间】:2016-05-02 16:29:45 【问题描述】:

已知StatusBar是Andriod 4.2的黑色默认。 但是,我想让启动器上的StatusBar 透明 并在它进入活动时变为黑色。然后,当它回到Launcher时,StatusBar恢复透明。


有一种方法可以实现,但效果不理想(Activity先打开,StatusBar慢慢变透明,没有严格同步)。

    "status_bar_background" 设置为#00000000; 删除PhoneStatusBar.java方法"makeStatusBarView()"中的代码"mStatusBarWindow.setBackground(null);"; 编辑mPixelFormat = PixelFormat.OPAQUE to mPixelFormat = PixelFormat.TRANSLUCENT; 更改WindowStateAnimator.java中的代码 updateSurfaceWindowCrop(),在代码行之后 "applyDecorRect(mService.mSystemDecorRect);"

添加:

if(w.mAttrs.type == LayoutParams.TYPE_WALLPAPER) 
         w.mSystemDecorRect.top = 0; 
   

【问题讨论】:

你不能。仅适用于 5.0 及以上版本 【参考方案1】:

我认为不能更改状态栏。如果你想改变,你必须改变 SystemUI .您可以通过链接参考:http://forum.xda-developers.com/showthread.php?t=2366476

【讨论】:

【参考方案2】:

隐藏状态栏并使用您自己的标题代替它,最好的解决方案。

【讨论】:

以上是关于Android4.2如何让StatusBar透明的主要内容,如果未能解决你的问题,请参考以下文章

iPhone上的离子如何设置状态栏透明

如何获得透明状态栏,如下图所示?

Android定制透明悬浮StatusBar 多分辨率适配

Lollipop:在 statusBar 后面绘制,其颜色设置为透明

DrawerLayout 全屏显示(可以覆盖到statusbar上面)

Android棒棒糖中的透明actionBar和statusBar