您的位置:首页 > 编程语言

应用主题色扩展到通知栏和不包括通知栏的代码设置

2017-05-27 09:22 639 查看
应用主题色扩展到通知栏和不包括通知栏的代码设置

对比图:如图中画圈圈的部分对比

定义一个应用中所有窗口Activity的基类BaseActivity,在其中onCreate方法中运行以下的方法
代码如下:

// TODO:适配4.4<=sdk<5.0

@TargetApi(Build.VERSION_CODES.KITKAT)

protected void setStatusBarTranslucent() {

    if ((Build.VERSION.SDK_INT < Build.VERSION_CODES.LOLLIPOP)

            &&(Build.VERSION.SDK_INT >= Build.VERSION_CODES.KITKAT)

            &&!(this instanceof SplashActivity)) {

        getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);

        SystemBarTintManager tintManager = new SystemBarTintManager(this);

        tintManager.setStatusBarTintEnabled(true);

        tintManager.setStatusBarTintResource(R.color.background_main);

    }
}

效果如下:





自己练手的例子:

导入依赖:compile 'com.readystatesoftware.systembartint:systembartint:1.0.3'(必要要用到这个东东才能才设置下面的SystemBarTintManager)

public class BaseActvity extends AppCompatActivity{

    @Override

    protected void onCreate(@Nullable Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setStatusBarTranslucent();

    }

    private void setStatusBarTranslucent(){

        getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_STATUS);

        SystemBarTintManager tintManager = new SystemBarTintManager(this);

        tintManager.setStatusBarTintEnabled(true);

        tintManager.setStatusBarTintResource(R.color.background_main);

        setContentView(R.layout.activity_main);

    }

}

public class MainActivity extends BaseActvity {

    @Override

    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.activity_main);

    }

}

效果如下:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: