概述
前言
前段时间在做项目的时候用到了沉浸式状态栏,在网上看了很多很多方法,有什么重写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两个值的颜色设置成相同就行
最后
以上就是隐形香水为你收集整理的沉浸式状态栏——简洁实用前言的全部内容,希望文章能够帮你解决沉浸式状态栏——简洁实用前言所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复