实现Android透明状态栏(或叫沉浸式状态栏)

最近接触到一个项目,发现了一个实现透明状态栏的第三方jar包,感觉挺好用的,跟大家分享一下。

github地址:https://github.com/jgilfelt/SystemBarTint

AS导入地址:compile ‘com.readystatesoftware.systembartint:systembartint:1.0.3’

在项目中使用时,可以封装成一个方法:

public void change_status_color(Activity activity,int color){
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT) {
        // 透明状态栏
        activity.getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);
        // 获取第三方jar包对象
        SystemBarTintManager tintManager = new SystemBarTintManager(activity);
        // 激活状态栏设置
        tintManager.setStatusBarTintEnabled(true);
        // 设置一个颜色给系统栏
        tintManager.setTintColor(color);
    }
}

帮助文档中涉及的方法:
//获取对象
SystemBarTintManager tintManager = new SystemBarTintManager(this);
//启用状态栏颜色
tintManager.setStatusBarTintEnabled(true);
//启用导航栏颜色
tintManager.setNavigationBarTintEnabled(true);
// 所有系统设置一个自定义色彩颜色
tintManager.setTintColor(Color.parseColor(“#99000FF”));
// 设置一个自定义导航栏的资源
tintManager.setNavigationBarTintResource(R.drawable.my_tint);
// 设置一个自定义状态栏可拉的
tintManager.setStatusBarTintDrawable(MyDrawable);

另附几篇参考文章:
1、鸿洋大神讲解实现透明状态栏(或叫沉浸式状态栏)
http://blog.csdn.net/lmj623565791/article/details/48649563
2、Android 系统状态栏沉浸式/透明化完整解决方案
http://www.jianshu.com/p/34a8b40b9308

猜你喜欢

转载自blog.csdn.net/Android_Programmer/article/details/78029158
今日推荐