Android顶部状态栏透明化并释放空间的两种实现方法
程序员文章站
2023-12-15 23:30:28
由于项目需求,需要将布局顶部放大状态栏的空间,类似这种
在网上搜索找到两种方法:
if (build.version.sdk_int >= 19){...
由于项目需求,需要将布局顶部放大状态栏的空间,类似这种
在网上搜索找到两种方法:
if (build.version.sdk_int >= 19){ windowmanager.layoutparams locallayoutparams = mactivity.getwindow().getattributes(); locallayoutparams.flags = (windowmanager.layoutparams.flag_translucent_status | locallayoutparams.flags); if (fmmain != null) {<span style="white-space:pre"> </span>//fmmain:自定义的顶部导航条 <span style="white-space:pre"> </span>linearlayout.layoutparams layoutparams = (linearlayout.layoutparams) fmmain.getlayoutparams(); <span style="white-space:pre"> </span>layoutparams.setmargins(0, chuangchuangapp.statusbarheight, 0, 0);//statusbarheight状态栏高度 fmmain.setlayoutparams(layoutparams);<span style="white-space:pre"> </span>//设置顶部margin值 } }
一般情况下margin值是可以不用设置的,这里因人而异;然后可以将导航条的背景设置成透明就可以达到效果了
另外一种方法:
if (build.version.sdk_int >= 21) { view decorview = getwindow().getdecorview(); fmmain.setbackgroundcolor(color.transparent); int option = view.system_ui_flag_layout_fullscreen | view.system_ui_flag_layout_stable; decorview.setsystemuivisibility(option); getwindow().setstatusbarcolor(color.transparent); }
这种方法是参考的郭霖大神的代码,具体链接地址:
以上所述是小编给大家介绍的android顶部状态栏透明化并释放空间的两种实现方法,希望对大家有所帮助