Alterando a cor da barra de status no Jetpack Compose

May 08 2023
Cada problema resolvido é uma lição aprendida. #AndroidTips #ResolvidoProblemaHoje Alterar a cor da barra de status é uma tarefa comum ao projetar aplicativos Android.

Cada problema resolvido é uma lição aprendida. #AndroidTips #ResolvidoProblemaHoje

Jetpack Compose

Alterar a cor da barra de status é uma tarefa comum ao projetar aplicativos Android. Com o Jetpack Compose, é um processo simples que pode ser feito em apenas algumas linhas de código.

Alterando a cor da barra de status no Jetpack Compose

Para alterar a cor da barra de status no Jetpack Compose, podemos usar o SystemUiControllerfornecido pelo androidx.compose.ui.platformpacote.

Primeiro, precisamos do accompanist-systemuicontroller. Adicione a dependência ao arquivo build.gradle do seu aplicativo:

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

Precisamos criar uma função combinável que definirá a cor da barra de status (crie a classe SetStatusBarColor.kt ). Aqui está um exemplo:

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

Em seguida, podemos chamar essa função em nossa @Composablefunção principal em MainActivity , assim:

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()
                }
            }
        }
    }
}

E é isso! Com apenas algumas linhas de código, podemos alterar facilmente a cor da barra de status em nosso aplicativo Android baseado no Jetpack Compose.

O uso SystemUiControllernão se limita apenas a alterar a cor da barra de status, mas também pode ser usado para outras configurações de IU do sistema, como a barra de navegação, o modo imersivo e muito mais.

Eu tenho o aplicativo sampel usando o jetpack compose em meu repositório github.com/im-o .

Feito e polvilhado, obrigado!