41.最简单的方法设置沉浸状态栏

1.下载素材。

本节没有素材,如有素材,请公众号内获取。

2.导入依赖。

// 基础依赖包,必须要依赖
implementation 'com.gyf.immersionbar:immersionbar:3.0.0'
// fragment快速实现(可选)
implementation 'com.gyf.immersionbar:immersionbar-components:3.0.0'

3.适配全面屏。

在manifest的Application节点下加入

 <meta-data android:name="android.max_aspect"android:value="2.4" />

4.适配刘海屏。

在manifest的Application节点下加入

 <!--适配华为(huawei)刘海屏--><meta-data android:name="android.notch_support" android:value="true"/><!--适配小米(xiaomi)刘海屏--><meta-dataandroid:name="notch.config"android:value="portrait|landscape" />

5.在Activity中设置沉浸状态栏。

public class MainActivity extends AppCompatActivity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);ImmersionBar.with(this).statusBarColor(R.color.purple_500).init();}
}

6.在Fragment中设置沉浸状态栏。

在MainActivity中修改,打开Fragment。

public class MainActivity extends AppCompatActivity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);if (savedInstanceState == null) {getSupportFragmentManager().beginTransaction().add(R.id.container,new FirstFragment()).commit();}}
}

在Fragment中修改,继承ImmersionFragment。

public class FirstFragment extends ImmersionFragment {@Overridepublic void initImmersionBar() {ImmersionBar.with(this).statusBarColor(R.color.purple_500).init();}//其他省略
}

7.高级用法。

 ImmersionBar.with(this).transparentStatusBar()  //透明状态栏,不写默认透明色.transparentNavigationBar()  //透明导航栏,不写默认黑色(设置此方法,fullScreen()方法自动为true).transparentBar()             //透明状态栏和导航栏,不写默认状态栏为透明色,导航栏为黑色(设置此方法,fullScreen()方法自动为true).statusBarColor(R.color.colorPrimary)     //状态栏颜色,不写默认透明色.navigationBarColor(R.color.colorPrimary) //导航栏颜色,不写默认黑色.barColor(R.color.colorPrimary)  //同时自定义状态栏和导航栏颜色,不写默认状态栏为透明色,导航栏为黑色.statusBarAlpha(0.3f)  //状态栏透明度,不写默认0.0f.navigationBarAlpha(0.4f)  //导航栏透明度,不写默认0.0F.barAlpha(0.3f)  //状态栏和导航栏透明度,不写默认0.0f.statusBarDarkFont(true)   //状态栏字体是深色,不写默认为亮色.navigationBarDarkIcon(true) //导航栏图标是深色,不写默认为亮色.autoDarkModeEnable(true) //自动状态栏字体和导航栏图标变色,必须指定状态栏颜色和导航栏颜色才可以自动变色哦.autoStatusBarDarkModeEnable(true,0.2f) //自动状态栏字体变色,必须指定状态栏颜色才可以自动变色哦.autoNavigationBarDarkModeEnable(true,0.2f) //自动导航栏图标变色,必须指定导航栏颜色才可以自动变色哦.flymeOSStatusBarFontColor(R.color.btn3)  //修改flyme OS状态栏字体颜色.fullScreen(true)      //有导航栏的情况下,activity全屏显示,也就是activity最下面被导航栏覆盖,不写默认非全屏.hideBar(BarHide.FLAG_HIDE_BAR)  //隐藏状态栏或导航栏或两者,不写默认不隐藏.addViewSupportTransformColor(toolbar)  //设置支持view变色,可以添加多个view,不指定颜色,默认和状态栏同色,还有两个重载方法.titleBar(view)    //解决状态栏和布局重叠问题,任选其一.titleBarMarginTop(view)     //解决状态栏和布局重叠问题,任选其一.statusBarView(view)  //解决状态栏和布局重叠问题,任选其一.fitsSystemWindows(true)    //解决状态栏和布局重叠问题,任选其一,默认为false,当为true时一定要指定statusBarColor(),不然状态栏为透明色,还有一些重载方法.supportActionBar(true) //支持ActionBar使用.statusBarColorTransform(R.color.orange)  //状态栏变色后的颜色.navigationBarColorTransform(R.color.orange) //导航栏变色后的颜色.barColorTransform(R.color.orange)  //状态栏和导航栏变色后的颜色.removeSupportView(toolbar)  //移除指定view支持.removeSupportAllView() //移除全部view支持.navigationBarEnable(true)   //是否可以修改导航栏颜色,默认为true.navigationBarWithKitkatEnable(true)  //是否可以修改安卓4.4和emui3.x手机导航栏颜色,默认为true.navigationBarWithEMUI3Enable(true) //是否可以修改emui3.x手机导航栏颜色,默认为true.keyboardEnable(true)  //解决软键盘与底部输入框冲突问题,默认为false,还有一个重载方法,可以指定软键盘mode.keyboardMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE)  //单独指定软键盘模式.setOnKeyboardListener(new OnKeyboardListener() {    //软键盘监听回调,keyboardEnable为true才会回调此方法@Overridepublic void onKeyboardChange(boolean isPopup, int keyboardHeight) {LogUtils.e(isPopup);  //isPopup为true,软键盘弹出,为false,软键盘关闭}}).setOnNavigationBarListener(onNavigationBarListener) //导航栏显示隐藏监听,目前只支持华为和小米手机.setOnBarListener(OnBarListener) //第一次调用和横竖屏切换都会触发,可以用来做刘海屏遮挡布局控件的问题.addTag("tag")  //给以上设置的参数打标记.getTag("tag")  //根据tag获得沉浸式参数.reset()  //重置所以沉浸式参数.init();  //必须调用方可应用以上所配置的参数

8.更多用法。

请参考官方说明:https://github.com/gyf-dev/ImmersionBar

【Android】41.最简单的方法设置沉浸状态栏相关推荐

  1. Android 三步简单适配齐刘海系统状态栏

    个人思路: 说到齐刘海适配,最典型的就是MainActivity的几个fragment中有的需要透明系统状态栏 有的不需要, 而一般需要透明系统状态栏的fragment顶部都会放个轮播图,然后在轮播图 ...

  2. Android 沉浸状态栏

    Android 沉浸状态栏 前言 原文:http://blog.csdn.net/mybeta/article/details/50760323 这里说的沉浸状态栏是指透明状态栏,至于为什么国内喜欢将 ...

  3. android开发按钮颜色,Android编程实现简单设置按钮颜色的方法

    本文实例讲述了Android编程实现简单设置按钮颜色的方法.分享给大家供大家参考,具体如下: 1.工程目录 a.在res目录-新建drawble文件夹放入自定义图片 2.main.xml androi ...

  4. android代码设置弹窗颜色,Android编程实现简单设置按钮颜色的方法

    本文实例讲述了Android编程实现简单设置按钮颜色的方法.分享给大家供大家参考,具体如下: 1.工程目录 a.在res目录-新建drawble文件夹放入自定义图片 2.main.xml androi ...

  5. Android客户端连接服务器- OKHttp的简单实用方法

    文章目录 一 .OKHttp简介 二. OkHttp3使用 1.创建HTTPClient实例 2.Get请求 3.POST请求 三.Timeouts(超时) **写在前面:本文只是对OKHttp3的简 ...

  6. Android设置状态栏颜色,沉浸式状态栏 fllutter Android设置沉浸式状态栏

    1. Android原生设置沉浸式状态栏,设置状态栏颜色,字体颜色 import android.annotation.TargetApi; import android.app.Activity; ...

  7. Android Studio 超级简单的打包生成apk的方法

    本文介绍了Android Studio 超级简单的打包生成apk,分享给大家,也给自己留个笔记. 为什么要打包: apk文件就是一个包,打包就是要生成apk文件,有了apk别人才能安装使用.打包分de ...

  8. android 层级边框,有没有一种简单的方法可以在Android视图的顶部和底部添加边框?...

    有没有一种简单的方法可以在Android视图的顶部和底部添加边框? 我有一个TextView,我想沿其顶部和底部边框添加黑色边框. 我尝试将android:drawableTop和android:dr ...

  9. Android 在Fragment中执行onActivityResult不被调用的简单解决方法

    Android 在Fragment中执行onActivityResult不被调用的简单解决方法 参考文章: (1)Android 在Fragment中执行onActivityResult不被调用的简单 ...

最新文章

  1. Intel汇编语言程序设计学习-第四章 数据传送、寻址和算术运算-上
  2. 【PC工具】更新在线流程图绘制工具bullmind,免费云存储流程图绘制,可直接粘贴图片...
  3. 集体奔赴农业战场 互联网巨头对话中国农民丰收节交易会
  4. 郑州军办计算机学校,郑州市国防科技学校2019级新生开启军训模式
  5. 是单片机高手还是菜鸟?看看你的程序框架就知道了
  6. arcgis报错常用解决方法
  7. oracle function 写查询语句_五个 SQL 查询性能测试题,只有 40% 及格率,你敢来挑战吗?...
  8. C++20协程原理和应用
  9. 51Nod-1101 换零钱【0/1背包+DP】
  10. python下载安装教程-一招解决:各种版本的Python下载安装教程
  11. python pow函数用法_Python代码中pow()函数具有哪些功能呢?
  12. PS打造电影金属字体
  13. 计算机操作系统(慕课版)各章思维导图
  14. prometheus 异常退出 报错:opening storage failed
  15. 【容斥原理】幸运数字
  16. 交换机千兆和百兆对网速影响_交换机对网速的影响
  17. eclipse svn too old to
  18. Ghost-最好安装原装的最新版本的ghost(不是onekeyghost等封装版本,而是symantec英文版),推荐使用大白菜安装系统
  19. Symbian(塞班移动手机)
  20. matlab中变压器电感基值公式,基于MATLAB的变压器短路阻抗计算.pdf

热门文章

  1. java视频播放缓冲技术_android -------- VideoCache 视频播放(缓存视频到本地)
  2. ubuntu install chrome
  3. pdm系统怎么删除服务器,完全卸载Solidworks Enterprise PDM方法
  4. 卡尔曼滤波与组合导航原理_基于RAEKF的GPS/INS紧组合导航方法研究
  5. 你的流量还够吗?小米传说中的米1元1.5G流量真的来了!
  6. 使用Web Scraper插件实现简单爬虫
  7. SQL Server的彻底卸载与再次安装
  8. 霍尼韦尔与中国企业签订逾20项合作协议;诺华与飞利浦、腾讯智慧医药达成战略合作 | 美通社头条...
  9. 1024 程序员节“沪深城市嘉年华”,共话技术生涯的一万种可能!
  10. go语言逐行读取和写入文件