状态栏是 Android 系统界面的一个组件,用于持续向用户显示重要信息。本文介绍了如何自定义状态栏系统图标。如需详细了解如何使资源叠加,请参阅 source.android.com 上的自定义系统界面。
图 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_0 ic_wifi_signal_1 ic_wifi_signal_2 、ic_wifi_signal_3 ic_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 |
确定某个配置的图标的显示顺序。 |