繁体   English   中英

如何像FB Messenger一样在Android中“自动更改”状态栏文本颜色?

[英]How to “auto change” status bar text color in android like FB Messenger?

我看到状态栏文本颜色为白色,但是当我打开FB Messenger时,颜色变为黑色。 我怎样才能做到这一点 ?

在打开Messenger之前

图像前

打开Messenger时

影像后

这是我的代码

 @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {

            getWindow().addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);
            getWindow().setStatusBarColor(ContextCompat.getColor(this, R.color.white));

        }


        initViews();



    }


您好,您可以在活动中动态地进行操作

您可以在onCreate中调用此代码块

   if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {

        window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS);

        window.setStatusBarColor(ContextCompat.getColor(this, resourceId));

 }

resourceId是您的颜色ID,例如R.color.red

 @Override
protected void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_home);

    if(getWindow()!=null){
        getWindow().setStatusBarColor(ContextCompat.getColor(this, R.color.color_amber));
    }
}

//最后结果
在此处输入图片说明

只需创建一个示例项目并使用此代码进行验证

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM