Accompanist für Kotlin: Komplettguide mit Beispielen

Online Python-Trainer für Anfänger

Lernen Sie Python einfach ohne theoretische Überlastung. Lösen Sie praktische Aufgaben mit automatischer Überprüfung und schreiben Sie Code direkt im Browser.

Kurs starten

Accompanist für Kotlin: Komplettguide mit Beispielen

1. Was ist Accompanist und warum braucht man es?

Accompanist ist eine Sammlung von Erweiterungsbibliotheken (Extensions) für Jetpack Compose, die vom Google-Team entwickelt wurde. Sie bietet fertige Lösungen für Aufgaben, die entweder noch nicht Teil der stabilen Compose-API sind oder eine aufwändige Eigenimplementierung erfordern. Die Bibliothek löst Probleme, mit denen jeder Compose-Entwickler konfrontiert wird: Umgang mit Gesten, Systemleisten, Animationen, WebViews, Anpassung an verschiedene Bildschirme und vieles mehr.

Warum ist sie nützlich? Erstens spart Accompanist Zeit. Anstatt einen eigenen Gesteinshandler oder einen benutzerdefinierten Modifikator für Systemleisten zu schreiben, verwendest du eine fertige, getestete Komponente. Zweitens folgt die Bibliothek den offiziellen Google-Empfehlungen und dient oft als Prototyp für zukünftige stabile Compose-APIs. Beispielsweise wurde HorizontalPager aus Accompanist später als HorizontalPager in Compose Foundation aufgenommen.

Zum Zeitpunkt der Erstellung dieses Artikels umfasst Accompanist Module wie: systemuicontroller (Steuerung von Status- und Navigationsleiste), permissions (Laufzeitberechtigungen), webview (Einbettung von WebView), pager (horizontales/vertikales Blättern), swiperefresh (Pull-to-Refresh-Geste), placeholder (Skelett-Ladezustand), adaptive (adaptive Layouts), navigation-animation (Übergangsanimationen) und weitere.

2. Installation

Accompanist ist eine Bibliothek für Gradle (Android/Kotlin Multiplatform). Die Installation erfolgt durch Hinzufügen von Abhängigkeiten in die Datei build.gradle.kts (oder build.gradle) deines Moduls. Befehle wie pip, npm, cargo oder go get werden nicht verwendet, da es sich nicht um Python, JavaScript, Rust oder Go handelt.

Der genaue Befehl zum Hinzufügen eines bestimmten Moduls (z. B. systemuicontroller):

// build.gradle.kts (Module)
dependencies {
    implementation("com.google.accompanist:accompanist-systemuicontroller:0.34.0")
    // Für andere Module:
    // implementation("com.google.accompanist:accompanist-permissions:0.34.0")
    // implementation("com.google.accompanist:accompanist-pager:0.34.0")
    // implementation("com.google.accompanist:accompanist-swiperefresh:0.34.0")
    // implementation("com.google.accompanist:accompanist-webview:0.34.0")
    // implementation("com.google.accompanist:accompanist-placeholder:0.34.0")
}

Wichtig: Überprüfe die aktuelle Version auf GitHub Releases. Version 0.34.0 ist die zum Zeitpunkt der Erstellung dieses Artikels letzte stabile Version. Stelle sicher, dass deine Kotlin- und Compose-Versionen mit der gewählten Accompanist-Version kompatibel sind.

3. Schnellstart – Minimales funktionierendes Beispiel

Erstellen wir einen Bildschirm, der die Farbe der Statusleiste bei einem Klick auf einen Button ändert. Dazu verwenden wir das Modul systemuicontroller.

import androidx.compose.foundation.background
import androidx.compose.foundation.layout.*
import androidx.compose.material3.*
import androidx.compose.runtime.*
import androidx.compose.ui.Modifier
import androidx.compose.ui.graphics.Color
import androidx.compose.ui.unit.dp
import com.google.accompanist.systemuicontroller.rememberSystemUiController

@Composable
fun QuickStartExample() {
    val systemUiController = rememberSystemUiController()
    var isDark by remember { mutableStateOf(false) }

    // Setze die Farbe der Statusleiste abhängig vom Zustand
    LaunchedEffect(isDark) {
        if (isDark) {
            systemUiController.setStatusBarColor                    

Empfehlungen