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

@color/colorPrimary

@color/white

@color/colorAccent

true

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

adc053628066

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之前使用,效果如下:

adc053628066

image.png

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

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐