Jetpack Compose でのステータス バーの色の変更

May 08 2023
解決された問題はすべて教訓になります。#AndroidTips #今日解決した問題 ステータス バーの色の変更は、Android アプリケーションを設計する際の一般的なタスクです。

解決された問題はすべて教訓になります。#Android のヒント #今日の問題を解決しました

Jetpack Compose

ステータス バーの色の変更は、Android アプリケーションを設計する際の一般的なタスクです。Jetpack Compose を使用すると、わずか数行のコードで実行できる簡単なプロセスになります。

Jetpack Compose でのステータス バーの色の変更

Jetpack Compose でステータス バーの色を変更するには、パッケージSystemUiControllerで提供されているを使用できますandroidx.compose.ui.platform

まず、 accompanist-systemuicontroller が必要です。アプリの build.gradle ファイルに依存関係を追加します。

dependencies {
    implementation "com.google.accompanist:accompanist-systemuicontroller:x.y.z"
}

ステータス バーの色を設定するコンポーズ可能な関数を作成する必要があります ( SetStatusBarColor.ktクラスを作成)。以下に例を示します。

@Composable
fun SetStatusBarColor(color: Color) {
    val systemUiController = rememberSystemUiController()
    SideEffect {
        systemUiController.setSystemBarsColor(color)
    }
}

次に、次のようにMainActivityのメイン@Composable関数でこの関数を呼び出すことができます。

class MainActivity : ComponentActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContent {
            YourAppNameTheme {
                StatusBarColor(color = MaterialTheme.colors.primary)
                // Other content here, example :
                Surface(modifier = Modifier.fillMaxSize(), color = MaterialTheme.colors.background) {
                    YourAppClass()
                }
            }
        }
    }
}

以上です!わずか数行のコードで、Jetpack Compose ベースの Android アプリケーションのステータス バーの色を簡単に変更できます。

使用はSystemUiControllerステータス バーの色の変更に限定されず、ナビゲーション バー、イマーシブ モードなどの他のシステム UI 構成にも使用できます。

私のリポジトリgithub.com/im-oには、jetpack compose を使用したサンプルアプリがあります

完了してほこりも落ちました、ありがとう!