Keyboard Type — was es ist, Tastaturtypen und Eingabeeinrichtung in Android

Autor: IT Sectr Veröffentlicht: 2026-07-07 Lesezeit: 9 Min.

Keyboard Type ist eine Konfiguration der virtuellen Tastatur in Android, die den Satz angezeigter Zeichen und das Layout für ein bestimmtes Eingabefeld definiert. Android unterstützt viele voreingestellte Typen: text (Standardtext), number (numerisch), phone (Telefon), email (mit @-Symbol), textPassword (für Passwörter), datetime und andere. Jeder Typ optimiert die Eingabeoberfläche für eine bestimmte Aufgabe — zum Beispiel zeigt die E-Mail-Tastatur das @-Symbol und den Punkt auf dem Hauptbildschirm an. Laut Android Developers (2026) reduziert die Wahl des richtigen Keyboard Type die Anzahl der Tastenanschläge um 20–40% im Vergleich zu einer Standardtexttastatur.

Wichtige Erkenntnisse

  • Keyboard Type — Tastaturmodus, definiert durch das Attribut android:inputType in Android.
  • Haupttypen — text, number, phone, email, textPassword, datetime für verschiedene Eingabeszenarien.
  • Eingabeoptimierung — der richtige Tastaturtyp beschleunigt das Ausfüllen von Formularen um 20–40%.
  • Flag-Kombination — inputType kombiniert Eingabeklasse und Modifikatoren (mehrzeilig, Autokorrektur).
  • IME-Optionen — das Attribut imeOptions steuert die Aktionstaste auf der Tastatur (Done, Search, Next).

Was ist Keyboard Type in Android

Keyboard Type wird durch den Wert des Attributs android:inputType in XML oder durch einen programmatischen Aufruf von setInputType() im Code bestimmt. InputType ist eine Bitmaske, bei der die Eingabeklasse mit Modifikator-Flags kombiniert wird. Die Basisklassen sind: TYPE_CLASS_TEXT für Text, TYPE_CLASS_NUMBER für Zahlen, TYPE_CLASS_PHONE für Telefone, TYPE_CLASS_DATETIME für Daten und Zeiten.

Jeder Keyboard Type beeinflusst drei Aspekte: das Layout der virtuellen Tastatur (welche Zeichen auf dem Hauptbildschirm sichtbar sind), die Filterung eingegebener Zeichen (welche Zeichen erlaubt sind) und das Verhalten von Autokorrektur/Autovervollständigung. Zum Beispiel zeigt die Zahlentastatur nur Ziffern und das Dezimaltrennzeichen an und zeigt keine Buchstaben, selbst wenn der Benutzer die Groß-/Kleinschreibung umschaltet. Laut Android Developers Documentation (2026) ermöglicht die Kombination von Klassen mit Flags die Erstellung hochspezialisierter Modi: mehrzeiliger Text mit Autokorrektur, Gleitkommazahl, Passwort mit Autofill-Unterstützung.

Es ist wichtig zu verstehen, dass Keyboard Type eine Empfehlung an das Eingabesystem (IME) ist. Einige Drittanbieter-Tastaturen (Gboard, SwiftKey) können den angegebenen Typ teilweise ignorieren, wenn der Benutzer eigene Einstellungen vorgenommen hat. Die meisten Standard-Android-Tastaturen und Google Gboard folgen jedoch strikt dem angegebenen Eingabetyp.

kotlin
// Programmatische Einrichtung des Tastaturtyps
editText.inputType = InputType.TYPE_CLASS_NUMBER or
    InputType.TYPE_NUMBER_FLAG_DECIMAL or
    InputType.TYPE_NUMBER_FLAG_SIGNED

Text — Standardtexttastatur

TYPE_CLASS_TEXT ist die Basisklasse für die Texteingabe. Sie aktiviert die standardmäßige QWERTZ-Tastatur mit Buchstaben, Ziffern und Symbolen. Die Textklasse hat die meisten Modifikatoren, die das Verhalten verfeinern: TYPE_TEXT_FLAG_CAP_SENTENCES (automatischer Großbuchstabe am Satzanfang), TYPE_TEXT_FLAG_AUTO_CORRECT (Autokorrektur), TYPE_TEXT_FLAG_MULTI_LINE (mehrzeiliger Modus), TYPE_TEXT_FLAG_NO_SUGGESTIONS (Vorschläge deaktivieren).

Die Modifikatoren der Texttastatur können kombiniert werden, um präzise Konfigurationen zu erstellen: zum Beispiel ist text|textCapSentences|textAutoCorrect geeignet für ein Kommentareingabefeld, wo automatische Großschreibung und Tippfehlerkorrektur benötigt werden. text|textNoSuggestions wird hingegen für die Eingabe von Code oder speziellen Begriffen verwendet, wo Autokorrektur schädlich sein kann.

Laut UX Stack Exchange (2025) beschleunigt eine Texttastatur mit aktivierter Autokorrektur die Eingabe für den Durchschnittsbenutzer um 15–25%, aber für technische Begriffe (Code, URL, E-Mail) wird empfohlen, die Autokorrektur zu deaktivieren, da sie oft korrekte Begriffe durch falsche ersetzt.

xml
<!-- Text with autocorrect and capital sentences -->
android:inputType="textCapSentences|textAutoCorrect"

<!-- Text without suggestions and autocorrect -->
android:inputType="textNoSuggestions"

Number — numerische Tastatur

TYPE_CLASS_NUMBER aktiviert die numerische Tastatur, die nur Ziffern, das Dezimaltrennzeichen und das Minuszeichen anzeigt. Dieser Typ wird für Eingabefelder für Mengen, Preise, Alter, Codes und andere numerische Daten verwendet. Die numerische Tastatur benötigt weniger Bildschirmplatz als eine Texttastatur und verhindert die versehentliche Eingabe von Buchstaben.

Number hat drei Modifikatoren: TYPE_NUMBER_FLAG_DECIMAL fügt einen Dezimalpunkt/Komma hinzu, TYPE_NUMBER_FLAG_SIGNED fügt ein Minuszeichen für negative Zahlen hinzu, TYPE_NUMBER_VARIATION_PASSWORD — für PIN-Codes, bei denen Ziffern als versteckte Zeichen angezeigt werden. Die Kombination number|numberDecimal|numberSigned erstellt ein vollwertiges Feld für die Eingabe von Gleitkommazahlen beliebigen Vorzeichens.

  • number — positive ganze Zahlen (Alter, Produktmenge).
  • numberDecimal — Zahlen mit Dezimalteil (Preise, Gewicht, Größe).
  • numberSigned — Zahlen mit Vorzeichen (Temperatur, Koordinaten).
  • numberPassword — versteckte Zifferneingabe für PIN-Codes.
kotlin
// Numerische Eingabe mit Dezimalpunkt
editText.inputType = InputType.TYPE_CLASS_NUMBER or
    InputType.TYPE_NUMBER_FLAG_DECIMAL

// Eingegebene Zahl prüfen
val amount = editText.text.toString().toDoubleOrNull() ?: 0.0

Phone und Email — spezialisierte Tastaturen

TYPE_CLASS_PHONE aktiviert die Telefontastatur, die Ziffern und für Telefonnummern typische Zeichen anzeigt: +, #, *, (, ). Im Gegensatz zur numerischen Tastatur zeigt Phone auch ein Buchstabenlayout in einem zusätzlichen Modus an, da Telefonnummern Buchstaben enthalten können (z. B. 1-800-FLOWERS). Die Phone-Klasse hat keine zusätzlichen Flags, unterstützt aber TYPE_TEXT_VARIATION_PHONE_ETC für die Eingabe von Durchwahlen.

TYPE_TEXT_VARIATION_EMAIL_ADDRESS aktiviert die E-Mail-Tastatur, bei der sich das @-Symbol und der Punkt auf dem Hauptbildschirm befinden und auch gängige Domain-Erweiterungen (.com, .net, .org) verfügbar sind. Gboard zeigt zusätzlich Schaltflächen mit beliebten Domains an, wenn nach @ getippt wird. Die E-Mail-Tastatur deaktiviert automatisch die Autokorrektur, da E-Mail-Adressen nicht standardmäßige Zeichenkombinationen enthalten können.

Laut Google Material Design Guidelines (2025) wird für Telefonfelder zusätzlich empfohlen, das Attribut android:digits anzugeben, das den Satz erlaubter Zeichen einschränkt. Für E-Mail-Felder ist es auch wichtig, autofillHints="email" anzugeben, um die automatische Vervollständigung durch Passwortmanager und Google Autofill zu unterstützen.

xml
<!-- Email keyboard with autofill -->
android:inputType="textEmailAddress"
android:importantForAutofill="yes"
android:autofillHints="emailAddress"

<!-- Phone keyboard with digit restriction -->
android:inputType="phone"
android:digits="0123456789+"

Password — Tastatur für Passwörter

TYPE_TEXT_VARIATION_PASSWORD und TYPE_NUMBER_VARIATION_PASSWORD sind Eingabemodi für vertrauliche Daten. Wenn textPassword gesetzt ist, werden eingegebene Zeichen als Punkte oder Sternchen angezeigt (abhängig von der Android-Version und der Tastatur). Die Tastatur deaktiviert in diesem Modus die Autokorrektur und das Speichern eingegebener Wörter im Benutzerwörterbuch, um ein Auslaufen von Passwörtern durch predictive Input-Funktionen zu verhindern.

Die Password-Tastatur deaktiviert auch die Möglichkeit, Screenshots des Feldinhalts zu erstellen (FLAG_SECURE-Flag), obwohl dieses Verhalten von der spezifischen Tastaturimplementierung abhängt. Ab Android 8.0 (API 26) unterstützen Passwort-Tastaturen die automatische Vervollständigung über Passwortmanager, wenn das Attribut importantForAutofill="yes" gesetzt ist.

Laut Android Security Recommendations (2025) wird für Passwortfelder auch empfohlen: maxLength zu setzen, um sehr lange Passwörter zu verhindern (die ein Angriffsvektor auf die Datenbank sein könnten), inputType="textPassword" zusammen mit TextInputLayout und endIconMode="password_toggle" zu verwenden, damit der Benutzer das eingegebene Passwort vor dem Absenden des Formulars überprüfen kann.

xml
<!-- Password field with show/hide icon -->
@+id/tilPasswordField
app:endIconMode="password_toggle">

    @+id/etPasswordField
    android:inputType="textPassword"
    android:maxLength="64"
    android:importantForAutofill="yes" />

</com.google.android.material.textfield.TextInputLayout>

Keyboard Type im Code einrichten

Die programmatische Einrichtung von Keyboard Type ermöglicht es, den Tastaturmodus dynamisch je nach Kontext oder Benutzereingabe zu ändern. Zum Beispiel beim Wechsel des Feldtyps (Text/Zahl/Datum) oder beim Ändern des Gebietsschemas. Die Methode setInputType() akzeptiert eine InputType-Bitmaske und aktualisiert sofort die Tastatur, wenn das Feld fokussiert ist.

Dynamischer Typwechsel

kotlin
// Zwischen Text- und Zahleneingabe umschalten
fun switchInputType(field: EditText, isNumeric: Boolean) {
    field.inputType = if (isNumeric) {
        InputType.TYPE_CLASS_NUMBER or
            InputType.TYPE_NUMBER_FLAG_DECIMAL
    } else {
        InputType.TYPE_CLASS_TEXT or
            InputType.TYPE_TEXT_FLAG_CAP_SENTENCES
    }
    field.setSelection(field.text.length)
}

Prüfen des aktuellen Typs

kotlin
// Prüfen, ob Feld numerisch ist
fun isNumericInput(field: EditText): Boolean {
    val type = field.inputType
    return (type and InputType.TYPE_MASK_CLASS) ==
        InputType.TYPE_CLASS_NUMBER
}

// Prüfen, ob Autokorrektur aktiviert ist
fun isAutoCorrectEnabled(field: EditText): Boolean {
    return (field.inputType and
        InputType.TYPE_TEXT_FLAG_AUTO_CORRECT) != 0
}

Häufig gestellte Fragen

Was passiert, wenn Keyboard Type nicht angegeben wird?

Wenn inputType nicht angegeben wird, verwendet EditText standardmäßig TYPE_CLASS_TEXT mit dem Flag TYPE_TEXT_FLAG_MULTI_LINE. Dies bedeutet eine standardmäßige QWERTZ-Tastatur und mehrzeilige Eingabe. Für die meisten Felder wird empfohlen, inputType explizit anzugeben, um ein korrektes Tastaturverhalten und Zeichenfilterung zu gewährleisten.

Wie erstelle ich eine Tastatur mit einer „Fertig“-Schaltfläche anstelle von „Enter“?

Verwenden Sie das Attribut android:imeOptions="actionDone" am EditText. Dies ersetzt die Enter-Taste durch eine Fertig-Taste. Andere Optionen: actionSearch (Lupe), actionNext (Pfeil nach rechts), actionSend (Senden). Implementieren Sie die Druckbehandlung über OnEditorActionListener im Code.

Kann die Tastaturvibration für ein bestimmtes Feld deaktiviert werden?

Sie können die Vibration nicht für ein bestimmtes Feld deaktivieren — dies ist eine Systemeinstellung, die vom Benutzer in den Tastatureinstellungen gesteuert wird. Sie können jedoch verhindern, dass die Tastatur vollständig angezeigt wird, indem Sie das Attribut android:focusable="false" am EditText setzen oder die Anzeige über dispatchTouchEvent überschreiben.

Wie erstelle ich ein schreibgeschütztes Feld mit der Möglichkeit, Text zu kopieren?

Setzen Sie android:inputType="none" oder rufen Sie programmatisch editText.setKeyListener(null) auf. Das Feld zeigt Text an, aber die Tastatur erscheint bei Fokus nicht. Der Benutzer kann Text auswählen und kopieren, aber nicht bearbeiten. Eine Alternative ist die Verwendung von TextView mit textIsSelectable="true".

Warum ändert sich die Tastatur nach setInputType() nicht?

Nach dem Aufruf von setInputType() muss die Tastatur erneut angezeigt werden, da das System das IME möglicherweise nicht automatisch aktualisiert. Rufen Sie InputMethodManager.restartInput(view) auf, um eine Aktualisierung zu erzwingen. Wenn das Feld nicht fokussiert ist, rufen Sie zuerst requestFocus() auf, dann restartInput.

Zusammenfassung

  • Keyboard Type definiert das Layout, die Filterung und das Verhalten der Tastatur für ein Android-Eingabefeld.
  • text — standardmäßige QWERTZ-Tastatur mit Modifikatoren für Autokorrektur, Großschreibung und Mehrzeiligkeit.
  • number — numerische Tastatur für ganze Zahlen und Dezimalzahlen mit signed- und decimal-Optionen.
  • phone — Telefontastatur mit Ziffern, +, #, * und Unterstützung für alphanumerische Nummern.
  • email — Tastatur mit @, Punkt und Schnellzugriff auf Domain-Erweiterungen.
  • textPassword — versteckte Eingabe mit deaktivierter Autokorrektur und Wörterbuchspeicherung.
  • imeOptions konfiguriert die Aktionstaste auf der Tastatur: Done, Search, Next, Send.

Wir entwickeln eine mobile Applikation schlüsselfertig

IT Sectr entwickelt seit 2017 iOS- und Android-Apps für Startups und Unternehmen. Wir beraten Sie und schlagen die beste Lösung vor.

Projekt besprechen

Lesen Sie auch