欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

Android顶部状态栏透明化并释放空间的两种实现方法

程序员文章站 2023-12-15 23:30:28
由于项目需求,需要将布局顶部放大状态栏的空间,类似这种 在网上搜索找到两种方法: if (build.version.sdk_int >= 19){...

由于项目需求,需要将布局顶部放大状态栏的空间,类似这种

Android顶部状态栏透明化并释放空间的两种实现方法

在网上搜索找到两种方法:

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顶部状态栏透明化并释放空间的两种实现方法,希望对大家有所帮助

上一篇:

下一篇: