5

Ich hätte gerne eine Telefon-wie Soft-Tastatur, die nur Zahlen eingeben können.Telefon-wie nur Zahlen Soft-Tastatur

Ich kann die "einzige Zahlen" Sache mit inputType = "Nummer" (wo die Soft-Tastatur ist als Standard, sondern erlaubt nur Zahlen als Eingabe) und die Telefon-ähnliche Stil mit inputType = "Telefon" erreichen. Aber wenn zusammen wie Telefonnummer | Telefon, selbst wenn der Stil der Telefon-wie ist, ermöglicht die Soft-Tastatur für andere Symbole als Zahlen.

Ich möchte den Telefon-ähnlichen Stil, da Nummerntasten sind größer und einfacher zu drücken und ich brauche nur Zahlen eingeben.

Alle Vorschläge außer dem Erstellen einer benutzerdefinierten Tastatur?

Antwort

5

Sie die Tastatur an die numerischen eine zwingen können, wenn Sie den Eingabetyp direkt eingeben möchte, nicht sicher, ob das hat zusätzliche Tasten

EditText t = (EditText) findViewById(R.id.edittext1); 

t.setRawInputType(Configuration.KEYBOARD_12KEY); 

oder

t.setRawInputType(InputType.TYPE_CLASS_PHONE); 

Ich habe die ersten verwendet vor einiger Zeit und es funktionierte, nicht sicher über aktuelle Android-Versionen.

Aber Sie können das Layout nicht beeinflussen. Die Tastatur wird von der aktuellen App bereitgestellt, die die Tastatur bedient, sie kann alles tun, was sie will. Sogar Dinge wie geben Sie 2 Tasten, um den Benutzer Eingabe Morse-Code wie https://play.google.com/store/apps/details?id=org.emergent.android.morseime.

Wenn das ist Tastatur, die Sie nicht bekommen, was Sie wollen, müssen Sie Ihre eigenen implementieren - ein relativ einfaches Layout mit 10 Tasten ist nicht so viel Arbeit.

+0

Danke für die Antwort. Beide Wege funktionieren super-toll wie bei intentType = "number". Das ist was ich will und die richtige Antwort. Frage: Ich kann keinen wirklichen Unterschied (zumindest visuell und im Eingabeverhalten) zwischen der Verwendung der einen oder der anderen Methode sehen (zumindest auf meinem Android 2.2.1 Telefon). Soll es irgendeinen Unterschied zwischen den beiden geben oder sind sie nur Synonym? –

+1

Beide sind nur 'int's mit Wert' 3'. Es gibt also keinen Unterschied. Ich bin mir nicht sicher, welches die offiziell unterstützte Version ist. – zapl

+0

Ok ... Danke für die schnelle Antwort ... Ich werde eine schnelle Suche versuchen! –