美文网首页
Android状态栏需要白底黑字

Android状态栏需要白底黑字

作者: Small_Cake | 来源:发表于2018-04-04 09:58 被阅读401次

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

<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
        <!-- Customize your theme here. -->
        <item name="colorPrimary">@color/colorPrimary</item>
        <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
        <item name="colorAccent">@color/colorAccent</item>
        <item name="android:windowLightStatusBar">true</item>
        <item name="android:background">@color/white</item>
    </style>

上面的<item name="android:windowLightStatusBar">true</item>就是使用亮色的状态栏,效果如下:

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
这样图片和状态栏合为一体,看起来才漂亮。

相关文章

网友评论

      本文标题:Android状态栏需要白底黑字

      本文链接:https://www.haomeiwen.com/subject/evzhhftx.html