安卓设置沉浸式状态栏

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);}
setTitleBarColor(status_bar, R.color.new_login_colors);
/** * @params status_bar 顶替状态栏的view * @params color 状态栏颜色 */public void setTitleBarColor(View status_bar, int color) {    try {        // 设置View的高度,因为每个型号的手机状态栏高度都不相同        status_bar.setLayoutParams(new LayoutParams(LayoutParams.MATCH_PARENT, ScreenUtils.getStatusHeight(this)));        // 判断SDK版本是否大于等于19,大于就让他显示,小于就要隐藏,不然低版本会多出来一个        if (Build.VERSION.SDK_INT == Build.VERSION_CODES.KITKAT) {            setTranslucentStatus(true);            status_bar.setVisibility(View.VISIBLE);        } else {            status_bar.setVisibility(View.GONE);        }        // 为状态栏着色        SystemBarTintManager tintManager = new SystemBarTintManager(this);        tintManager.setStatusBarTintEnabled(true);        tintManager.setStatusBarTintResource(color);    } catch (Exception e) {        e.printStackTrace();    }}

@TargetApi(19)private void setTranslucentStatus(boolean on) {    try {        Window win = getWindow();        WindowManager.LayoutParams winParams = win.getAttributes();        final int bits = WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS;        if (on) {            winParams.flags |= bits;        } else {            winParams.flags &= ~bits;        }        win.setAttributes(winParams);    } catch (Exception e) {        e.printStackTrace();    }}
时间: 2024-10-09 03:55:30

安卓设置沉浸式状态栏的相关文章

Android设置沉浸式状态栏时改变状态栏的颜色(只对MIUI V6可用)

Android支持在API 19及以上使用沉浸式状态,但在MIUI V6下如果扩展的颜色比较浅,会导致状态栏的文字无法看清. 在Android4.4设备上支持沉浸式状态栏,只需要添加values-v19/styles.xml 下添加 <style name="AppBaseTheme" parent="@style/Theme.AppCompat.Light.NoActionBar"> <item name="android:window

HBuilder设置沉浸式状态栏显示效果

1:在[manifest.json]文件中,在[plus-->distribute--> apple]下加上[ "UIReserveStatusbarOffset":false],在[google]下加上["ImmersedStatusbar":true] 2:配置完之后在引入的样式css中加上 [ .mui-ios header{ padding-top: 8px !important; } .mui-android header{ padding-t

沉浸式状态栏 设置状态栏颜色

方式一:使用系统API 这个特性是andorid4.4支持的,最少要api19才可以使用. 1.隐藏标题栏等 在代码中设置 requestWindowFeature(Window.FEATURE_NO_TITLE);//隐藏标题栏 getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);//窗口透明的状态栏 getWindow().addFlags(WindowManager.LayoutParams.FL

android沉浸式状态栏设置(4.4以上版本)

其实设置比较简单,我用了小米和htc的几款机型都可以用. 主要代码就是这个(注意要在Activity的setContentView之前调用才行) /** * 开启沉浸式状态栏 * */ public static void openImmerseStatasBarMode(Activity activity) { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) { Window window = activity.getWindo

Android 沉浸式状态栏

效果图 android 5.0 以上 android 4.4 API 19 以上都是原生安卓系统的效果,具体到国内的各种各样改过的系统可能会有细微差别,测试过小米和华为的机器效果基本一样. 实现 1.修改主题属性 方法一: 在values-v19文件夹下声明AppTheme为透明状态栏,代码如下 1 <style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar"> 2 <!-- C

Android中的沉浸式状态栏效果

无意间了解到沉浸式状态栏,感觉贼拉的高大上,于是就是试着去了解一下,就有了这篇文章.下面就来了解一下啥叫沉浸式状态栏.传统的手机状态栏是呈现出黑色条状的,有的和手机主界面有很明显的区别.这一样就在一定程度上牺牲了视觉宽度,界面面积变小.Google从android kitkat(Android 4.4)开始,给我们开发者提供了一套能透明的系统ui样式给状态栏和导航栏,这样的话就不用向以前那样每天面对着黑乎乎的上下两条黑栏了,还可以调成跟Activity一样的样式,形成一个完整的主题,和IOS7.

沉浸式状态栏的两种实现方法

--此博文只是做笔记总结,详细原文请看 http://www.jianshu.com/p/0acc12c29c1b?hmsr=toutiao.io&utm_medium=toutiao.io&utm_source=toutiao.io 今天学习了沉浸式状态栏--status bar的处理方案,现在做一下记录 沉浸式状态栏可以有两种实现方案,一种是以纯色来搭建,一种是用图片背景来实现 先来几张图 这两张图就是沉浸式状态栏的两种实现方式,第一种是用颜色来填充状态栏,第二种是图片 具体说一下实现

三步实现沉浸式状态栏(即状态栏与APP同色)

本篇实现的是沉浸式状态栏.先明确下概念,什么是状态栏?直接上图: 什么是沉浸式状态栏?示例图如下: 非沉浸式状态栏                                                                        沉浸式状态栏         其实,实质上就是使手机状态栏的颜色改变,使其成为自己想要的颜色.如果把它设置成和APP主色调相同,这样看上去就会好看许多.至于叫法,网上都这么叫,就不用深究它了.下面介绍如何实现,其实很简单,只需三步: 前提:建

android -------- 沉浸式状态栏和沉浸式导航栏(ImmersionBar)

android 4.4以上沉浸式状态栏和沉浸式导航栏管理,包括状态栏字体颜色,适用于Activity.Fragment.DialogFragment.Dialog,并且适配刘海屏,适配软键盘弹出等问题 ImmersionBar -- android 4.4以上沉浸式实现 直接看效果图,最下面有各个版本的效果图 android studio 引入依赖 implementation 'com.gyf.immersionbar:immersionbar:2.3.3' eclipse immersion