Android Academy · Lektion

Tastaturoptionen und Aktionen

Tastaturtypen, IME-Aktionen und Fokus

Lektion 4 von 413 Schritte

Tastaturoptionen und Aktionen ist eine kostenlose Android Academy-Lektion auf CoddyKit. Dies ist Lektion 4 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des Android Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Android Academy-Kurs umfasst insgesamt 4 Lektionen.

Die richtige Tastatur für jede Aufgabe

Ein ausgereiftes Formular zeigt die richtige Bildschirmtastatur: Ziffern für eine Telefonnummer, eine @-Taste für E-Mail-Adressen und eine „Weiter“-Schaltfläche, um zwischen Feldern zu wechseln. Compose steuert all dies mit KeyboardOptions und KeyboardActions.

In dieser Lektion legen Sie Tastaturtypen und IME-Aktionen fest und verwalten den Fokus zwischen Feldern.

Den Tastaturtyp auswählen

Übergeben Sie KeyboardOptions an ein Textfeld und legen Sie keyboardType fest. Das System zeigt dann eine für die Daten geeignete Tastatur an.

Häufige Werte sind: Text, Number, Email, Phone, Password.

var email by remember { mutableStateOf("") }

OutlinedTextField(
    value = email,
    onValueChange = { email = it },
    label = { Text("Email") },
    keyboardOptions = KeyboardOptions(
        keyboardType = KeyboardType.Email
    )
)

Eine Zifferntastatur

Verwenden Sie für eine Menge oder PIN KeyboardType.Number. Kombinieren Sie dies mit einer Eingabefilterung, sodass nur Ziffern akzeptiert werden, wie Sie in der Lektion zur Validierung gelernt haben.

var pin by remember { mutableStateOf("") }

OutlinedTextField(
    value = pin,
    onValueChange = { pin = it.filter { c -> c.isDigit() } },
    label = { Text("PIN") },
    keyboardOptions = KeyboardOptions(
        keyboardType = KeyboardType.Number
    )
)

Ein Passwort ausblenden

Passwörter sollten maskiert werden. Verwenden Sie visualTransformation = PasswordVisualTransformation() zusammen mit dem Tastaturtyp für Passwörter.

Der Zustand enthält weiterhin die echten Zeichen; nur die Anzeige wird maskiert.

var password by remember { mutableStateOf("") }

OutlinedTextField(
    value = password,
    onValueChange = { password = it },
    label = { Text("Password") },
    visualTransformation = PasswordVisualTransformation(),
    keyboardOptions = KeyboardOptions(
        keyboardType = KeyboardType.Password
    )
)

Die IME-Aktionstaste

Die Taste unten rechts auf der Tastatur ist die IME-Aktion. Legen Sie sie mit imeAction fest. Verwenden Sie Next, um zum nächsten Feld zu wechseln, und Done für das letzte Feld.

OutlinedTextField(
    value = name,
    onValueChange = { name = it },
    label = { Text("Name") },
    keyboardOptions = KeyboardOptions(
        imeAction = ImeAction.Next
    )
)

Auf IME-Aktionen reagieren

Um zu reagieren, wenn der Benutzer diese Taste antippt, übergeben Sie KeyboardActions. Jede Aktion (onNext, onDone, onSearch) ist ein Lambda, das Sie implementieren.

Hier blendet das Drücken von Done die Tastatur aus.

val keyboard = LocalSoftwareKeyboardController.current

OutlinedTextField(
    value = text,
    onValueChange = { text = it },
    keyboardOptions = KeyboardOptions(imeAction = ImeAction.Done),
    keyboardActions = KeyboardActions(
        onDone = { keyboard?.hide() }
    )
)

Den Fokus auf das nächste Feld verschieben

Bei einem Formular mit mehreren Feldern sollte die Weiter-Taste zum nächsten Feld springen. Verwenden Sie LocalFocusManager und rufen Sie moveFocus auf.

val focusManager = LocalFocusManager.current

OutlinedTextField(
    value = email,
    onValueChange = { email = it },
    keyboardOptions = KeyboardOptions(imeAction = ImeAction.Next),
    keyboardActions = KeyboardActions(
        onNext = { focusManager.moveFocus(FocusDirection.Down) }
    )
)

Den Fokus bei Done löschen

Beim letzten Feld blendet das Löschen des Fokus die Tastatur aus und hebt die Auswahl des Feldes auf. Rufen Sie focusManager.clearFocus() innerhalb von onDone auf.

OutlinedTextField(
    value = password,
    onValueChange = { password = it },
    keyboardOptions = KeyboardOptions(imeAction = ImeAction.Done),
    keyboardActions = KeyboardActions(
        onDone = { focusManager.clearFocus() }
    )
)

Fokus programmgesteuert anfordern

Manchmal soll ein Feld fokussiert sein, sobald der Bildschirm angezeigt wird, etwa ein Suchfeld. Verknüpfen Sie einen FocusRequester und fordern Sie den Fokus in einem LaunchedEffect an.

val focusRequester = remember { FocusRequester() }

LaunchedEffect(Unit) { focusRequester.requestFocus() }

OutlinedTextField(
    value = query,
    onValueChange = { query = it },
    modifier = Modifier.focusRequester(focusRequester),
    label = { Text("Search") }
)

Großschreibung und Autokorrektur

KeyboardOptions steuert auch capitalization und autoCorrectEnabled. Schreiben Sie für einen Namen jedes Wort groß oder deaktivieren Sie die Autokorrektur für einen Benutzernamen, damit er nicht verändert wird.

OutlinedTextField(
    value = fullName,
    onValueChange = { fullName = it },
    label = { Text("Full name") },
    keyboardOptions = KeyboardOptions(
        capitalization = KeyboardCapitalization.Words,
        autoCorrectEnabled = false
    )
)

Reines Kotlin: Eine IME-Aktion auswählen

Die Logik „Weiter für jedes Feld außer dem letzten, Done für das letzte“ ist einfaches Kotlin. Hier ordnen wir den Feldpositionen die anzuzeigende Aktionsbeschriftung zu.

fun imeActionFor(index: Int, lastIndex: Int): String =
    if (index == lastIndex) "Done" else "Next"

fun main() {
    val fields = listOf("name", "email", "password")
    fields.forEachIndexed { i, field ->
        println("$field -> ${imeActionFor(i, fields.lastIndex)}")
    }
}

Kurze Überprüfung

Die Taste unten rechts auf der Tastatur soll „Weiter“ anzeigen und beim Antippen den Fokus auf das darunterliegende Feld verschieben. Welche zwei Bausteine benötigen Sie?

Zusammenfassung

Sie können jetzt Formulare erstellen, die die Tastatur sinnvoll nutzen:

  • KeyboardOptions legt keyboardType, imeAction, Großschreibung und Autokorrektur fest.
  • Maskieren Sie Passwörter mit PasswordVisualTransformation.
  • KeyboardActions reagiert auf Weiter/Done/Suche.
  • LocalFocusManager verschiebt oder löscht den Fokus; FocusRequester fokussiert ein Feld auf Anforderung.

Damit ist das Werkzeugset für den Formularaufbau vollständig: Eingabe, Zustand, Validierung und Tastatur. Sie sind bereit, ausgereifte und benutzerfreundliche Compose-Formulare zu erstellen.

Kostenlos starten

Lerne Kotlin mit einem KI-Tutor — kostenlos

Schreibe und führe echten Code in deinem Browser aus, bekomme sofortige Hilfe von einem 24/7 KI-Tutor und setze dein Lernen im Web oder in der App fort.

Kurse
36
Lektionen
152

Häufig gestellte Fragen

Ist die Lektion „Tastaturoptionen und Aktionen“ kostenlos?

Ja — der vollständige Text von „Tastaturoptionen und Aktionen“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Android Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Android Academy-Kurs umfasst insgesamt 4 Lektionen.

Was lerne ich in „Tastaturoptionen und Aktionen“?

Tastaturtypen, IME-Aktionen und Fokus Du übst Android Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.

Brauche ich Erfahrung, um Android Academy zu starten?

Keine Vorkenntnisse erforderlich. Android Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 4 von 4.

Wie lange dauert die Lektion „Tastaturoptionen und Aktionen“?

Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.

Kann ich in dieser Android Academy-Lektion Code schreiben und ausführen?

Ja. Jede Android Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.

Alle Lektionen in diesem Kurs

  1. TextField und Benutzereingaben
  2. Formularstatus verwalten
  3. Eingaben validieren
  4. Tastaturoptionen und Aktionen
← Zurück zu Android Academy