StatusBar
アプリのステータスバーを制御するコンポーネント。ステータスバーは、通常画面上部に位置し、現在時刻、Wi-Fiおよび携帯電話ネットワーク情報、バッテリー残量、その他ステータスアイコンなどを表示する領域です。
Navigatorでの使用
複数のStatusBarコンポーネントを同時にマウントすることが可能です。プロップは、StatusBarコンポーネントがマウントされた順序でマージされます。
- TypeScript
- JavaScript
命令型API
コンポーネントの使用が理想的でない場合のために、コンポーネントの静的関数として公開されている命令型APIもあります。ただし、静的APIとコンポーネントを同じプロップに使用することは推奨されません。なぜなら、静的APIによって設定された値は、次のレンダーでコンポーネントによって設定された値によって上書きされるためです。
リファレンス
定数
currentHeight Android
ステータスバーの高さ。存在する場合は、ノッチの高さも含まれます。
Props
animated
ステータスバーのプロパティ変更間のトランジションをアニメーションさせるかどうか。backgroundColor、barStyle、hiddenプロパティでサポートされています。
| 型 | 必須 | デフォルト |
|---|---|---|
| boolean | No | false |
backgroundColor Android
ステータスバーの背景色。
Android 15で導入されたエッジツーエッジの強制により、ステータスバーの背景色の設定はAPIレベル35で非推奨となり、設定しても効果がありません。エッジツーエッジに関する推奨事項については、こちらをご覧ください。
| 型 | 必須 | デフォルト |
|---|---|---|
| color | No | デフォルトのシステムStatusBar背景色、または定義されていない場合は'black' |
barStyle
ステータスバーのテキストの色を設定します。
Androidでは、これはAPIバージョン23以降にのみ影響します。
| 型 | 必須 | デフォルト |
|---|---|---|
| StatusBarStyle | No | 'default' |
hidden
ステータスバーが非表示の場合。
| 型 | 必須 | デフォルト |
|---|---|---|
| boolean | No | false |
networkActivityIndicatorVisible iOS
ネットワークアクティビティインジケーターを表示するかどうか。
| 型 | デフォルト |
|---|---|
| boolean | false |
showHideTransition iOS
hiddenプロップを使用してステータスバーの表示/非表示を切り替える際のトランジション効果。
| 型 | デフォルト |
|---|---|
| StatusBarAnimation | 'fade' |
translucent Android
ステータスバーが半透明である場合。translucentをtrueに設定すると、アプリはステータスバーの下に描画されます。これは、半透明のステータスバーの色を使用する場合に便利です。
Android 15で導入されたエッジツーエッジの強制により、ステータスバーを半透明に設定することはAPIレベル35で非推奨となり、設定しても効果がありません。エッジツーエッジに関する推奨事項については、こちらをご覧ください。
| 型 | デフォルト |
|---|---|
| boolean | false |
Methods
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レベル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);
ステータスバーの半透明性を制御します。
Android 15で導入されたエッジツーエッジの強制により、ステータスバーを半透明に設定することはAPIレベル35で非推奨となり、設定しても効果がありません。エッジツーエッジに関する推奨事項については、こちらをご覧ください。
パラメータ
| 名前 | 型 | 説明 |
|---|---|---|
| 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が必要) |