有时为了给用户更好的体验,我们需要更改标题栏的颜色和图标颜色,比如改为白底黑字,或者沉浸式状态栏等。
需求1:更改标题栏的颜色和图标颜色:
效果如下:
![]() |
![]() |
1. 在themes中统一设置
在style中添加
<!-- 修改标题栏为白色 ,注意后面版本号设置-->
<item name="android:statusBarColor" tools:targetApi="l">@color/white</item>
<!-- 修改标题栏字体为黑色 -->
<item name="android:windowLightStatusBar" tools:targetApi="m">true</item>
2. 在代码中动态设置
直接调用这两个方法即可
//传入Activity,和修改后的颜色
public static void setWindowStatusBarColor(Activity activity, int colorResId) {
try {
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
Window window = activity.getWindow();
window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS