Android如何设置顶部状态栏颜色(主题)

您所在的位置:网站首页 安卓手机怎样设置主题 Android如何设置顶部状态栏颜色(主题)

Android如何设置顶部状态栏颜色(主题)

2024-04-08 13:31| 来源: 网络整理| 查看: 265

在Android中我们经常需要设置屏幕顶部状态栏的主题和应用页面保持同一风格,本文介绍几种常用的设置方案:

状态栏将显示为纯净的颜色,没有渐变效果

/** * 状态栏相关工具类 * */ public class StatusBarUtils { //设置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); window.setStatusBarColor(activity.getResources().getColor(colorResId)); } } catch (Exception e) { e.printStackTrace(); } } //设置Dialog对应的顶部状态栏的颜色 public static void setWindowStatusBarColor(Dialog dialog, int colorResId) { try { if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { Window window = dialog.getWindow(); window.addFlags(WindowManager.LayoutParams.FLAG_DRAWS_SYSTEM_BAR_BACKGROUNDS); window.setStatusBarColor(dialog.getContext().getResources().getColor(colorResId)); } } catch (Exception e) { e.printStackTrace(); } } } 通过style来设置应用顶部状态栏的颜色

首先给出一张图:

2

通过上图,我们可以通过设置不同的属性来达到控制不同位置颜色的目的,下面给出使用示例,修改res/values-19里面的内容:

@android:color/holo_blue_bright @android:color/holo_blue_bright

主要是设置 colorPrimary,colorPrimaryDark这两个属性的值来设置状态栏的颜色,需要注意的是:

1:AndroidManifest.xml文件中的targetSdkVersion必须设置在 21 以上。

2.parent主题必须是 Theme.AppCompat 开头,兼容包下的主题,所以必须一用 v7 包。

在顶部标题栏设置属性值达到风格一致的目的

首先修改res/values-v19文件夹下的styles.xml文件内容如下(如果没有可以新建一个):

true

然后设置顶部标题控件的两个属性:

android:background="@android:color/holo_blue_bright" android:fitsSystemWindows="true"

这时状态栏会保持与设置fitsSystemWindow属性的控件的背景颜色一致。

参考

Android状态栏颜色修改



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3