StatusBar
用於控制應用程式狀態列的組件。狀態列通常位於螢幕頂端,顯示目前時間、Wi-Fi 和行動網路資訊、電池電量和/或其他狀態圖示的區域。
與 Navigator 搭配使用
可以同時掛載多個 StatusBar
組件。屬性將按照 StatusBar
組件掛載的順序合併。
- TypeScript
- JavaScript
命令式 API
對於不適合使用組件的情況,也有一個命令式 API 作為組件上的靜態函式公開。但不建議對同一個屬性同時使用靜態 API 和組件,因為靜態 API 設定的任何值都會在下次渲染時被組件設定的值覆蓋。
參考
常數
currentHeight
Android
狀態列的高度,包含瀏海高度(如果有的話)。
屬性
animated
狀態列屬性變更之間的過渡是否應具有動畫效果。支援 backgroundColor
、barStyle
和 hidden
屬性。
類型 | 必填 | 預設值 |
---|---|---|
boolean | 否 | false |
backgroundColor
Android
狀態列的背景顏色。
由於 Android 15 中引入的邊緣到邊緣強制執行,在 API level 35 中設定狀態列的背景顏色已被棄用。
類型 | 必填 | 預設值 |
---|---|---|
color | 否 | 預設系統 StatusBar 背景顏色,如果未定義則為 'black' |
barStyle
設定狀態列文字的顏色。
在 Android 上,這只會影響 API 版本 23 及以上版本。
類型 | 必填 | 預設值 |
---|---|---|
StatusBarStyle | 否 | 'default' |
hidden
狀態列是否隱藏。
類型 | 必填 | 預設值 |
---|---|---|
boolean | 否 | false |
networkActivityIndicatorVisible
iOS
網路活動指示器是否應可見。
類型 | 預設值 |
---|---|
boolean | false |
showHideTransition
iOS
使用 hidden
屬性顯示和隱藏狀態列時的過渡效果。
類型 | 預設值 |
---|---|
StatusBarAnimation | 'fade' |
translucent
Android
狀態列是否為半透明。當 translucent 設定為 true
時,應用程式將在狀態列下方繪製。當使用半透明狀態列顏色時,這非常有用。
類型 | 預設值 |
---|---|
boolean | false |
方法
popStackEntry()
static popStackEntry(entry: StatusBarProps);
從堆疊中取得並移除最後一個 StatusBar 條目。
參數
名稱 | 類型 | 描述 |
---|---|---|
entry 必填 | any | 從 pushStackEntry 返回的條目。 |
pushStackEntry()
static pushStackEntry(props: StatusBarProps): StatusBarProps;
將 StatusBar 條目推入堆疊。完成時,應將傳回值傳遞給 popStackEntry
。
參數
名稱 | 類型 | 描述 |
---|---|---|
props 必填 | any | 包含要在堆疊條目中使用的 StatusBar 屬性的物件。 |
replaceStackEntry()
static replaceStackEntry(
entry: StatusBarProps,
props: StatusBarProps
): StatusBarProps;
使用新屬性替換現有的 StatusBar 堆疊條目。
參數
名稱 | 類型 | 描述 |
---|---|---|
entry 必填 | any | 從 pushStackEntry 返回以替換的條目。 |
props 必填 | any | 包含要在替換堆疊條目中使用的 StatusBar 屬性的物件。 |
setBackgroundColor()
Android
static setBackgroundColor(color: ColorValue, animated?: boolean);
設定狀態列的背景顏色。
由於 Android 15 中引入的邊緣到邊緣強制執行,在 API level 35 中設定狀態列的背景顏色已被棄用。
參數
名稱 | 類型 | 描述 |
---|---|---|
color 必填 | string | 背景顏色。 |
animated | boolean | 動畫顯示樣式變更。 |
setBarStyle()
static setBarStyle(style: StatusBarStyle, animated?: boolean);
設定狀態列樣式。
參數
名稱 | 類型 | 描述 |
---|---|---|
style 必填 | StatusBarStyle | 要設定的狀態列樣式。 |
animated | boolean | 動畫顯示樣式變更。 |
setHidden()
static setHidden(hidden: boolean, animation?: StatusBarAnimation);
顯示或隱藏狀態列。
參數
名稱 | 類型 | 描述 |
---|---|---|
hidden 必填 | boolean | 隱藏狀態列。 |
animation iOS | StatusBarAnimation | 變更狀態列隱藏屬性時的動畫。 |
setNetworkActivityIndicatorVisible()
iOS
static setNetworkActivityIndicatorVisible(visible: boolean);
控制網路活動指示器的可見性。
參數
名稱 | 類型 | 描述 |
---|---|---|
visible 必填 | boolean | 顯示指示器。 |
setTranslucent()
Android
static setTranslucent(translucent: boolean);
控制狀態列的半透明度。
參數
名稱 | 類型 | 描述 |
---|---|---|
translucent 必填 | boolean | 設定為半透明。 |
類型定義
StatusBarAnimation
iOS 上過渡的狀態列動畫類型。
類型 |
---|
enum |
常數
值 | 類型 | 描述 |
---|---|---|
'fade' | string | 淡入淡出動畫 |
'slide' | string | 滑動動畫 |
'none' | string | 無動畫 |
StatusBarStyle
狀態列樣式類型。
類型 |
---|
enum |
常數
值 | 類型 | 描述 |
---|---|---|
'default' | string | 預設狀態列樣式(iOS 為深色,Android 為淺色) |
'light-content' | string | 白色文字和圖示 |
'dark-content' | string | 深色文字和圖示 (Android 上需要 API>=23) |