状态栏
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" | 显示/隐藏时使用淡入淡出动画。 |