Android状态栏需要白底黑字

在全局样式(也就是AndroidManifest.xml中的application指定的theme里面设置)


上面的true就是使用亮色的状态栏,需要在values-v23中使用,电量栏文字就变黑了,电量栏背景用的colorPrimaryDark,所以我们使用white,效果如下:

image.png

但是有的页面,我们需要变换颜色和图片的颜色一致,那怎么办,那就需要我们在设置视图之前做变换状态栏颜色的操作,比如使用蓝色

public class SplashActivity extends BaseActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        BarUtils.setStatusBarColor(this, ContextCompat.getColor(this,R.color.blue));
        setContentView(R.layout.activity_splash);

        new Handler().postDelayed(new Runnable() {
            @Override
            public void run() {
                startActivity(new Intent(SplashActivity.this, MainActivity.class));
                finish();
                overridePendingTransition(android.R.anim.fade_in,android.R.anim.fade_out);
            }
        }, 2000);
    }
}

其中BarUtils.setStatusBarColor(this, ContextCompat.getColor(this,R.color.blue));要在setContentView之前使用,效果如下:

image.png

这样图片和状态栏合为一体,看起来才漂亮。

想想以前设置个电量栏好困难,现在好了,别人的拿来用,别问我为什么,因为我懒:https://github.com/gyf-dev/ImmersionBar

你可能感兴趣的:(Android状态栏需要白底黑字)