【Android】41.最简单的方法设置沉浸状态栏
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.最简单的方法设置沉浸状态栏相关推荐
- Android 三步简单适配齐刘海系统状态栏
个人思路: 说到齐刘海适配,最典型的就是MainActivity的几个fragment中有的需要透明系统状态栏 有的不需要, 而一般需要透明系统状态栏的fragment顶部都会放个轮播图,然后在轮播图 ...
- Android 沉浸状态栏
Android 沉浸状态栏 前言 原文:http://blog.csdn.net/mybeta/article/details/50760323 这里说的沉浸状态栏是指透明状态栏,至于为什么国内喜欢将 ...
- android开发按钮颜色,Android编程实现简单设置按钮颜色的方法
本文实例讲述了Android编程实现简单设置按钮颜色的方法.分享给大家供大家参考,具体如下: 1.工程目录 a.在res目录-新建drawble文件夹放入自定义图片 2.main.xml androi ...
- android代码设置弹窗颜色,Android编程实现简单设置按钮颜色的方法
本文实例讲述了Android编程实现简单设置按钮颜色的方法.分享给大家供大家参考,具体如下: 1.工程目录 a.在res目录-新建drawble文件夹放入自定义图片 2.main.xml androi ...
- Android客户端连接服务器- OKHttp的简单实用方法
文章目录 一 .OKHttp简介 二. OkHttp3使用 1.创建HTTPClient实例 2.Get请求 3.POST请求 三.Timeouts(超时) **写在前面:本文只是对OKHttp3的简 ...
- Android设置状态栏颜色,沉浸式状态栏 fllutter Android设置沉浸式状态栏
1. Android原生设置沉浸式状态栏,设置状态栏颜色,字体颜色 import android.annotation.TargetApi; import android.app.Activity; ...
- Android Studio 超级简单的打包生成apk的方法
本文介绍了Android Studio 超级简单的打包生成apk,分享给大家,也给自己留个笔记. 为什么要打包: apk文件就是一个包,打包就是要生成apk文件,有了apk别人才能安装使用.打包分de ...
- android 层级边框,有没有一种简单的方法可以在Android视图的顶部和底部添加边框?...
有没有一种简单的方法可以在Android视图的顶部和底部添加边框? 我有一个TextView,我想沿其顶部和底部边框添加黑色边框. 我尝试将android:drawableTop和android:dr ...
- Android 在Fragment中执行onActivityResult不被调用的简单解决方法
Android 在Fragment中执行onActivityResult不被调用的简单解决方法 参考文章: (1)Android 在Fragment中执行onActivityResult不被调用的简单 ...
最新文章
- Intel汇编语言程序设计学习-第四章 数据传送、寻址和算术运算-上
- 【PC工具】更新在线流程图绘制工具bullmind,免费云存储流程图绘制,可直接粘贴图片...
- 集体奔赴农业战场 互联网巨头对话中国农民丰收节交易会
- 郑州军办计算机学校,郑州市国防科技学校2019级新生开启军训模式
- 是单片机高手还是菜鸟?看看你的程序框架就知道了
- arcgis报错常用解决方法
- oracle function 写查询语句_五个 SQL 查询性能测试题,只有 40% 及格率,你敢来挑战吗?...
- C++20协程原理和应用
- 51Nod-1101 换零钱【0/1背包+DP】
- python下载安装教程-一招解决:各种版本的Python下载安装教程
- python pow函数用法_Python代码中pow()函数具有哪些功能呢?
- PS打造电影金属字体
- 计算机操作系统(慕课版)各章思维导图
- prometheus 异常退出 报错:opening storage failed
- 【容斥原理】幸运数字
- 交换机千兆和百兆对网速影响_交换机对网速的影响
- eclipse svn too old to
- Ghost-最好安装原装的最新版本的ghost(不是onekeyghost等封装版本,而是symantec英文版),推荐使用大白菜安装系统
- Symbian(塞班移动手机)
- matlab中变压器电感基值公式,基于MATLAB的变压器短路阻抗计算.pdf
热门文章
- java视频播放缓冲技术_android -------- VideoCache 视频播放(缓存视频到本地)
- ubuntu install chrome
- pdm系统怎么删除服务器,完全卸载Solidworks Enterprise PDM方法
- 卡尔曼滤波与组合导航原理_基于RAEKF的GPS/INS紧组合导航方法研究
- 你的流量还够吗?小米传说中的米1元1.5G流量真的来了!
- 使用Web Scraper插件实现简单爬虫
- SQL Server的彻底卸载与再次安装
- 霍尼韦尔与中国企业签订逾20项合作协议;诺华与飞利浦、腾讯智慧医药达成战略合作 | 美通社头条...
- 1024 程序员节“沪深城市嘉年华”,共话技术生涯的一万种可能!
- go语言逐行读取和写入文件