パッケージ、リポジトリ、アプリカテゴリを検索

status_bar_control のカバー
パッケージ詳細v4.0.0

status_bar_control

ステータスバー制御により、iOSおよびAndroidでステータスバーの色、スタイル(テーマ)、表示状態、透過性を制御できます。

AndroidiOS
30日間ダウンロード
700
いいね数
91
Pub ポイント
140

パッケージをインストール

flutter pub add status_bar_control

パッケージ概要

公開情報に基づく選定ガイドです。参考としてご利用ください。

ステータスバー制御は、AndroidおよびiOSプラットフォームの両方でステータスバーをカスタマイズできるFlutterパッケージです。ステータスバーの色、外観(ライトまたはダークテーマ)、表示状態、透過性を制御できます。このパッケージは、ステータスバーのプロパティを管理するためのシンプルかつ一貫したAPIを提供し、洗練されたユーザーインターフェース体験を実現します。ネイティブプラットフォーム機能とシームレスに連携し、両方のモバイルオペレーティングシステムをサポートしています。コンテキストやテーマ変更に基づいてステータスバーを動的に調整する必要があるアプリに最適です。

用途

  • スクリーンごとにステータスバーの色をカスタマイズする
  • ダーク/ライトテーマ用のステータスバーのスタイルを調整する
  • 一時的にステータスバーを非表示にする
  • ステータスバーを透過にする
  • フルスクリーンアプリでのステータスバーの管理

主な機能

  • クロスプラットフォーム対応(iOSおよびAndroid)
  • 色、スタイル、可視性、透過性の制御
  • シンプルで直感的な API
  • ネイティブプラットフォームの動作と連携
  • 追加のネイティブコードは不要です

適している対象

  • 動的ステータスバーのスタイルが必要なアプリ
  • 没入型UIを構築する開発者
  • 複数のテーマを持つプロジェクト
  • フルスクリーンまたはゲーム風のインターフェース
  • 複雑なナビゲーション状態を持つアプリ

注意事項

  • プラットフォーム固有の振る舞いを適切に処理する必要があります
  • エッジケースに対応するための追加構成が必要になる場合があります
  • ステータスバーのカスタマイズのみに制限されています
  • 高度なシステムレベルの変更には適していません
  • Flutterライフサイクルイベントの適切な使用に依存する

元の README

関連するソースリポジトリの README 原文のスナップショットです。最新の内容はリポジトリをご覧ください。

Status Bar Control

Flutter_Tests

Since flutter_statusbar_manager is no longer maintained, this package is a re-publish and will be occasionally updated for continued use in existing projects.

Buy Me A Coffee      

About

Status Bar Control, lets you control the status bar color, style (theme), visibility, and translucent properties across iOS and Android. With some added bonus for Android to control the Navigation Bar.

This plugin is based on React Native's StatusBar component.

The Navigation Bar code was taken from the awesome flutter-screen-theme-plugin.

The plugin was tested with iOS 15 and Android 12 (API 31).

Last Updates
  • v3.2.0 rename to status_bar_control and re-publish to pub.dev
  • v3.1.2 add cutout-mode for Android and SafeArea to demo app
  • v3.1.1 resolve UIOverlay-deprecations and update of demo app
  • v3.1.0 support for Android V2 thanks to jWinterDay and rafaelmaeuer
  • v3.0.1 compatible with flutter web thanks to rafaelmaeuer
  • v3.0.0 support for null safety thanks to NarHakobyan
  • v2.0.0 compatible with AndroidX thanks to lorenzOliveto

See CHANGELOG for a complete list of changes.

Examples

Build the example project for iOS and Android from the example folder.

Android
Status Bar Color Status Bar Hide Navigation Bar
Demo App Android Status Bar Demo App Android Status Bar hide Demo App Android Nav Bar
iOS
Demo Iphone 8 Demo Iphone X
Demo App Iphone 8 Demo App Iphone X

Note: not all of the shown examples might still work in the latest versions of Android or iOS

Installation

status_bar_control: ^3.2.1

to your pubspec.yaml and run

flutter pub get

in your project's root directory.

Basic Usage

Create a new project with command

flutter create myapp

On iOS add the following in your Info.plist (if not already present):

<key>UIViewControllerBasedStatusBarAppearance</key>
<false/>

On Android add the following in your styles.xml (cutout-mode for API >27):

<item name="android:windowLayoutInDisplayCutoutMode" tools:targetApi="o_mr1">shortEdges</item>

Import the plugin in lib/main.dart like this:

import 'package:status_bar_control/status_bar_control.dart';

Methods

setColor
Platforms: Android

The setColor method will set the status bar background color. On iOS the method will always return a successful Future.

Parameter Type Default Required Description
color Color none Yes The color to be set as background, can use colors with opacity.
animated bool false No Whether or not to animate the color change.
await StatusBarControl.setColor(Colors.green, animated:true);
setTranslucent
Platforms: Android

The setTranslucent method will set the status bar translucent status. On iOS the methods will always return a successful Future.

Parameter Type Default Required Description
translucent bool none Yes Whether or not the status bar will be translucent.
await StatusBarControl.setTranslucent(true);
setHidden
Platforms: Android, iOS

The setHidden will hide the status bar.

Parameter Type Default Required Description
hidden bool none Yes Whether or not to hide the status bar.
animation StatusBarAnimation StatusBarAnimation.NONE No The hiding animation to use (iOS only).
await StatusBarControl.setHidden(true, animation:StatusBarAnimation.SLIDE);
setStyle
Platforms: Android, iOS

The setStyle method will set the status bar theme.

Parameter Type Default Required Description
style StatusBarStyle none Yes The status bar theme to use for styling, can either be light, dark, default.
await StatusBarControl.setStyle(StatusBarStyle.DARK_CONTENT);
setNetworkActivityIndicatorVisible
Platforms: iOS

The setNetworkActivityIndicatorVisible method will show or hide the activity indicator, On Android the method will always return a successful Future.

Parameter Type Default Required Description
visible bool none Yes Whether or not to show the activity indicator.
await StatusBarControl.setNetworkActivityIndicatorVisible(true);
getHeight
Platforms: Android, iOS

The getHeight getter method will return the height of the status bar.

double height = await StatusBarControl.getHeight

Bonus Methods

setNavigationBarColor
Platforms: Android

The setNavigationBarColor method will set the navigation bar background color. On iOS the method will always return a successful Future.

Parameter Type Default Required Description
color Color none Yes The color to be set as background.
animated bool false No Whether or not to animate the color change.
await StatusBarControl.setNavigationBarColor(Colors.green, animated:true);
setNavigationBarStyle
Platforms: Android

The setNavigationBarStyle method will set the navigation bar theme.

Parameter Type Default Required Description
style NavigationBarStyle none Yes The navigation bar theme to use for styling, can either be light, dark, default.
await StatusBarControl.setNavigationBarStyle(NavigationBarStyle.DARK);
setFullscreen
Platforms: Android, iOS

The setFullscreen method will set the app in fullscreen mode.

Parameter Type Default Required Description
fullscreen bool none Yes Whether or not to set the app on fullscreen mode.
await StatusBarControl.setNavigationBarStyle(NavigationBarStyle.DARK);

Enums

StatusBarStyle
  • StatusBarStyle.DEFAULT
  • StatusBarStyle.LIGHT_CONTENT
  • StatusBarStyle.DARK_CONTENT
StatusBarAnimation
  • StatusBarAnimation.NONE
  • StatusBarAnimation.FADE
  • StatusBarAnimation.SLIDE
NavigationBarStyle
  • NavigationBarStyle.DEFAULT
  • NavigationBarStyle.DARK
  • NavigationBarStyle.LIGHT

Status bar

Compatibility: Android (6.0+) & iOS

On Android, it will only work with Android 6.0 (Marshmallow) and above devices.

Navigation bar

Compatibility: Android only

Android 5.0 (Lollipop) and above: color

Android 8.0 (Oreo) and above: style (dark/light)

カテゴリー

ソースリポジトリ

このパッケージを使用しているプロジェクト