当前位置:   article > 正文

Android隐藏系统状态栏(沉浸式状态栏)和设置状态栏颜色_android沉浸式状态栏

android沉浸式状态栏

int topMargin = getStatusBarHeight(view.getContext());

params.height = params.height + topMargin;

view.setPadding(view.getPaddingLeft(), view.getPaddingTop() + topMargin, view.getPaddingRight(), view.getPaddingBottom());

view.setLayoutParams(params);

}

这里的view当然就是你的TitleBar,状态栏的颜色是你的TitleBar的背景色。效果见上图。

getStatusBarHeight(context)应该不用我说了,不会的话自己百度

3. 设置状态栏显示字体内容颜

这种场景很常见,比如上面的图,如果你的TitleBar是白色或者浅色,那么你状态栏的显示内容将会看不见,或者很丑。

这个时候你需要改变你状态栏显示内容的颜色,只有几行代码:

Window window = activity.getWindow();

if (ColorUtils.calculateLuminance(color) >= 0.5) {

window.getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR);

} else {

window.getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_STABLE);

}

color就是你设置的状态栏颜色,或者说是TitleBar的背景色,但注意这是一个int值,不是resourceId。

ColorUtils.calculateLuminance(color) >= 0.5的作用只是确定这个颜色是亮色还是暗色。

View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR是帮你把状态栏显示内容变成黑色,而View.SYSTEM_UI_FLAG_LAYOUT_STABLE是跟随系统。

小结

学会以上三点,你基本可以交差了,但是下面的这种场景你应该还是要知道。

4. 状态栏着色

可能由于某种特定原因,你可能想给状态栏设置另外一种颜色,那么这也很简单:

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {

Window window = activity.getWindow();

window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);

window.setStatusBarColor(getResources().getColor(R.color.your_color));

}

比如下图我把状态栏设置成黑

关于我

更多面试内容分析,分享,学习笔记整理,视频整理

https://github.com/xiangjiana/Android-MS

(点个star领取PDF面试大全,附送CSDN下载资源,flutter教学视频,音视频开发)

  • 知乎

  • 掘金

  • 简书
    自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数初中级Android工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则近万的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Android移动开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

img

img

img

img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Android开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且会持续更新!

如果你觉得这些内容对你有帮助,可以扫码获取!!(资料价值较高,非无偿)

最后

其实Android开发的知识点就那么多,面试问来问去还是那么点东西。所以面试没有其他的诀窍,只看你对这些知识点准备的充分程度。so,出去面试时先看看自己复习到了哪个阶段就好。

虽然 Android 没有前几年火热了,已经过去了会四大组件就能找到高薪职位的时代了。这只能说明 Android 中级以下的岗位饱和了,现在高级工程师还是比较缺少的,很多高级职位给的薪资真的特别高(钱多也不一定能找到合适的),所以努力让自己成为高级工程师才是最重要的。

这里附上上述的面试题相关的几十套字节跳动,京东,小米,腾讯、头条、阿里、美团等公司21年的面试题。把技术点整理成了视频和PDF(实际上比预期多花了不少精力),包含知识脉络 + 诸多细节。

由于篇幅有限,这里以图片的形式给大家展示一小部分。

网上学习 Android的资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。希望这份系统化的技术体系对大家有一个方向参考。

《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》,点击传送门即可获取!

但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。希望这份系统化的技术体系对大家有一个方向参考。

《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》,点击传送门即可获取!
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/你好赵伟/article/detail/518353
推荐阅读
相关标签
  

闽ICP备14008679号