状态栏
StatusBar API 提供配置状态栏样式以及显示/隐藏状态栏的方法。
iOS 注意事项
本插件要求 Info.plist 文件中将 "基于视图控制器的状态栏外观" (UIViewControllerBasedStatusBarAppearance) 设为 YES。如需帮助请参阅 iOS 配置。
状态栏默认可见且样式默认为 StatusBarStyle.Light。您可以通过在 Info.plist 中添加 UIStatusBarHidden 和/或 UIStatusBarStyle 来修改默认设置。
目前 iOS 设备不支持 setBackgroundColor 和 setOverlaysWebView 方法。
事件
- statusTap (状态栏点击事件)
示例
// 事件监听 (仅iOS)
window.addEventListener('statusTap', function () {
console.log('状态栏被点击');
});
// API 调用
import { Plugins, StatusBarStyle } from '@capacitor/core';
const { StatusBar } = Plugins;
export class StatusBarExample {
isStatusBarLight = true;
changeStatusBar() {
StatusBar.setStyle({
style: this.isStatusBarLight ? StatusBarStyle.Dark : StatusBarStyle.Light,
});
this.isStatusBarLight = !this.isStatusBarLight;
// 让内容显示在透明状态栏下方 (仅Android)
StatusBar.setOverlaysWebView({
overlay: true,
});
}
hideStatusBar() {
StatusBar.hide();
}
showStatusBar() {
StatusBar.show();
}
}
API
setStyle(...)
setStyle(options: StatusBarStyleOptions) => Promise<void>
设置状态栏当前样式
| 参数 | 类型 |
|---|---|
options | |
setBackgroundColor(...)
setBackgroundColor(options: StatusBarBackgroundColorOptions) => Promise<void>
设置状态栏背景颜色
| 参数 | 类型 |
|---|---|
options | |
show(...)
show(options?: StatusBarAnimationOptions) => Promise<void>
显示状态栏
| 参数 | 类型 |
|---|---|
options | |
hide(...)
hide(options?: StatusBarAnimationOptions) => Promise<void>
隐藏状态栏
| 参数 | 类型 |
|---|---|
options | |
getInfo()
getInfo() => Promise<StatusBarInfoResult>
获取状态栏当前状态信息
返回值:
Promise<StatusBarInfoResult>
setOverlaysWebView(...)
setOverlaysWebView(options: StatusBarOverlaysWebviewOptions) => Promise<void>
设置状态栏是否覆盖 WebView,以便利用设备"刘海"周围的空间
| 参数 | 类型 |
|---|---|
options | |
Interfaces
StatusBarStyleOptions
| 属性 | 类型 |
|---|---|
style | |
StatusBarBackgroundColorOptions
| 属性 | 类型 |
|---|---|
color | string |
StatusBarAnimationOptions
| 属性 | 类型 | 描述 |
|---|---|---|
animation | | 仅iOS。显示或隐藏状态栏时使用的动画类型。 |
StatusBarInfoResult
| 属性 | 类型 |
|---|---|
visible | boolean |
style | |
color | string |
overlays | boolean |
StatusBarOverlaysWebviewOptions
| 属性 | 类型 |
|---|---|
overlay | boolean |
Enums
StatusBarStyle
| 枚举值 | 值 | 描述 |
|---|---|---|
Dark | "DARK" | 深色背景使用浅色文字。 |
Light | "LIGHT" | 浅色背景使用深色文字。 |
StatusBarAnimation
| 枚举值 | 值 | 描述 |
|---|---|---|
None | "NONE" | 显示/隐藏时不使用动画。 |
Slide | "SLIDE" | 显示/隐藏时使用滑动动画。 |
Fade | "FADE" | 显示/隐藏时使用淡入淡出动画。 |