我是靠谱客的博主 隐形香水,最近开发中收集的这篇文章主要介绍沉浸式状态栏——简洁实用前言,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

前言

前段时间在做项目的时候用到了沉浸式状态栏,在网上看了很多很多方法,有什么重写Style样式表的种种,今天来个总结。
——————————————————————————————————————————
首先呢,说一种全局式的,如图
在这里插入图片描述

Java代码:(注意,要写在项目的BaseActivity里,紧挨着super.onCreate(savedInstanceState);)
getWindow().requestFeature(Window.FEATURE_NO_TITLE); if
(Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
Window window = getWindow();
window.clearFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS |
WindowManager.LayoutParams.FLAG_TRANSLUCENT_NAVIGATION);
window.getDecorView().setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN
| View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION |
View.SYSTEM_UI_FLAG_LAYOUT_STABLE);
window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);
window.setStatusBarColor(Color.TRANSPARENT); //设置状态栏颜色透明
window.setNavigationBarColor(Color.TRANSPARENT); //设置导航栏颜色透明 }

如果觉得这种方法不太适合你的需求的话,可以在你MainActivity所对应的布局中加这样一行代码

给状态栏留空地 android:fitsSystemWindows=“true”

第二种,直接给状态栏设置颜色

java代码

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { Window
window = activity.getWindow();
window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);
window.setStatusBarColor(activity.getResources().getColor(colorResId));
//底部导航栏
//window.setNavigationBarColor(activity.getResources().getColor(colorResId));
}

style文件——直接在主题文件中设置这几个属性,AndroidStudio项目中自动生成

<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">    
  <!-- Customize your theme here. -->    
  <item name="colorPrimary">@color/colorPrimary</item>    
  <item name="colorPrimaryDark">@color/colorPrimaryDark</item>    
  <item name="colorAccent">@color/colorAccent</item>
</style>
当你把colorPrimary和colorPrimaryDark两个值的颜色设置成相同就行

最后

以上就是隐形香水为你收集整理的沉浸式状态栏——简洁实用前言的全部内容,希望文章能够帮你解决沉浸式状态栏——简洁实用前言所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(39)

评论列表共有 0 条评论

立即
投稿
返回
顶部