转载

Android 6.0状态栏使用灰色文字和图标

Android StatusBar中的字体和图标默认都是白色的,但是Android在6.0之前是没有办法更改这个颜色,

在Android 6.0中提供了一个 SYSTEM_UI_FLAG_LIGHT_STATUS_BAR ,可以将其颜色改为灰色。

效果如下图所示:

Android 6.0状态栏使用灰色文字和图标

修改状态栏颜色,可以通过以下代码实现:

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
getWindow().setBackgroundDrawableResource(R.mipmap.window_bg);
getWindow().getDecorView().setSystemUiVisibility(
View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN|View.SYSTEM_UI_FLAG_LIGHT_STATUS_BAR);

getWindow().setStatusBarColor(Color.TRANSPARENT);
}

另外我们如果需要去除Toolbar的阴影效果,可以通过设置elevation属性修改

<android.support.design.widget.AppBarLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:elevation="0dp"
android:background="@android:color/transparent"
android:theme="@style/AppTheme.AppBarOverlay">

<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="@android:color/transparent"
app:popupTheme="@style/AppTheme.PopupOverlay" />

</android.support.design.widget.AppBarLayout>
正文到此结束
Loading...