状态栏是 Android 系统界面的一个组件,用于持续向用户显示重要信息。本页介绍了如何自定义状态栏系统图标。如需详细了解如何使资源叠加,请参阅自定义系统界面。

图 1. 状态栏。
特定图标的叠加层
状态栏中所显示项的大多数资源都位于以下目录中:
/platform/frameworks/base/packages/SystemUI/res/drawable
单个图标
| 用法 | 资源 | 含义 | 
|---|---|---|
| 闹钟 | stat_sys_alarm | 
已设置闹钟。 | 
stat_sys_alarm_dim | 
设备处于 zen 模式。 | |
| 投放 | stat_sys_cast | 
设备正投射到另一台设备上。 | 
| 蓝牙 | stat_sys_data_bluetooth | 
蓝牙已启用。 | 
stat_sys_data_bluetooth_connected | 
至少连接了一台蓝牙设备。 | |
| 流量节省程序 | stat_sys_data_saver | 
设备处于“流量节省程序”模式。 | 
| 勿扰 | stat_sys_dnd | 
设备处于勿扰模式。 | 
| 以太网 | stat_sys_ethernet | 
设备已连接到以太网。 | 
stat_sys_ethernet_fully | 
||
| 耳机 | stat_sys_headset | 
耳机已连接。 | 
stat_sys_headset_mic | 
连接的耳机带有麦克风。 | |
| 热点 | stat_sys_hotspot | 
热点已启用。 | 
stat_sys_managed_profile_status | 
正管理相应配置文件。 | |
| 振铃器 | stat_sys_ringer_silent | 
设备处于静音模式。 | 
stat_sys_ringer_vibrate | 
设备处于仅振动模式。 | |
| 旋转 | stat_sys_rotate_landscape | 
屏幕处于横屏模式。 | 
stat_sys_rotate_portrait | 
屏幕处于竖屏模式。 | |
| 传感器已关闭 | stat_sys_sensors_off | 
|
| 电传打字机模式 | stat_sys_tty_mode | 
|
| VPN 图标 | stat_sys_vpn_ic | 
在设备已启用 VPN 和 VPN 版本带有品牌标志时显示。 | 
stat_sys_branded_vpn | 
||
| 位置 | perm_group_location | 
在定位请求处于活动状态时显示。 位于 platform/frameworks/base/core/res/res/drawable 下。 | 
组合图标
| 来电和去电图标指示器 | Wi-Fi 和移动网络下的来电和去电 activity 图标完全相同,且与这两种图标一同显示。 | |
ic_activity_down | 
指示来电 activity。 | |
ic_activity_up | 
指示去电 activity。 | |
| Wi-Fi | ic_wifi_signal_0ic_wifi_signal_1ic_wifi_signal_2、ic_wifi_signal_3ic_wifi_signal_4 | 
Wi-Fi 图标在状态栏中显示。 实际显示的图标因信号强度而异。 ic_wifi_signal_0 表示信号最弱,ic_wifi_signal_4 则表示信号最强。 | 
| 移动网络 | 移动网络图标的位置固定不变,因此只能显示以下图标之一,因手机的信号强度而异。 | |
stat_sys_airplane_mode | 
飞行模式图标 | |
stat_sys_roaming | 
漫游模式图标 | |
ic_lte_mobiledata | 
LTE 图标 | |
ic_lte_plus_mobiledata | 
LTE+ 图标 | |
ic_g_mobiledata | 
GPRS 图标 | |
ic_e_mobiledata | 
Edge 图标 | |
ic_h_mobiledata | 
HSDPA 图标 | |
ic_h_plus_mobiledata | 
HSPA+ 图标 | |
ic_3g_mobiledata | 
3G 图标 | |
ic_4g_mobiledata | 
4G 图标 | |
ic_4g_plus_mobiledata | 
4G+ 图标 | |
ic_5g_e_mobiledata | 
5G Evolution 图标 | |
ic_5g_mobiledata | 
5G 图标 | |
ic_5g_plus_mobiledata | 
5G+ 图标 | |
ic_1x_mobiledata | 
1X 图标 | |
特殊图标
以下配置决定着是否显示某些图标:
| 值 | 说明 | 
|---|---|
config_showMin3G | 
设置为 true 时,当前数据连接级别的最低级别图标显示为 3G。否则显示其他图标,例如 1x。 | 
  
config_alwaysUseCdmaRssi | 
如果信号强度指示器应始终显示 CDMA 信号强度,则将其设置为 true,采用 Evolution-Data Optimized (EVDO) 时也是如此。 | 
  
config_hspa_data_distinguishable | 
如果需要将 HSPA 数据网络图标与通用移动通讯系统 (UMTS) 数据网络图标区分开,则将其设置为 true。 | 
  
config_inflateSignalStrength | 
将其设置为 true 时可人为地将所有信号强度解读为比实际信号强度高一格。 | 
运营商配置服务也会通过自己的一系列配置来决定是否显示某些图标。这些值均与特定的 SIM 卡相关联,且原始设备制造商 (OEM) 无法替换这些值。例如:
| 值 | 说明 | 
|---|---|
KEY_ALWAYS_SHOW_DATA_RAT_ICON_BOOL | 
始终显示数据网络图标。 | 
KEY_SHOW_4G_FOR_LTE_DATA_ICON_BOOL | 
    将 LTE 显示为 4G。 | 
KEY_SHOW_4G_FOR_3G_DATA_ICON_BOOL | 
    将 3G 显示 4G。 | 
KEY_HIDE_LTE_PLUS_DATA_ICON_BOOL | 
    不显示 LTE+。 | 
配置图标
以下通用配置变量适用于所有状态栏系统图标:
| 值 | 说明 | 
|---|---|
status_bar_system_icon_size | 
    更改系统图标的大小。 | 
status_bar_system_icon_spacing | 
    确定系统图标之间的间距。 | 
config_statusBarIconBlacklist | 
    指明哪些系统图标绝不应在状态栏中显示。 | 
config_statusBarIcons | 
    确定某个配置的图标的显示顺序。 |