Quello che stai cercando è "anteprima tasto" Presumo che si sta utilizzando KeyboardView
per creare la vostra tastiera personalizzata. È possibile abilitare l'anteprima chiave chiamando setPreviewEnabled(boolean previewEnabled) dovrebbe essere qualcosa di simile: mKeyboardView.setPreviewEnabled(true);
Edit:
penso che questo link vi aiuterà nella vostra implementazione e spiega più in dettaglio quello che stavo provando.
Per prima cosa è creare un layout per la tastiera, in genere contiene solo un keyboardView:
<?xml version="1.0" encoding="UTF-8"?>
<android.inputmethodservice.KeyboardView
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/keyboard"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:keyPreviewLayout ="@layout/preview" />
e quindi si crea un altro layout per l'anteprima:
<?xml version="1.0" encoding="utf-8"?>
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:background="#ffff00"
android:textStyle="bold"
android:textSize="30sp">
</TextView>
Dopo di che si progetta la tastiera nel tuo caso qualcosa del genere:
<Keyboard xmlns:android="http://schemas.android.com/apk/res/android"
android:keyWidth="10%p"
android:horizontalGap="0px"
android:verticalGap="0px"
android:keyHeight="60dp">
<Row>
<Key android:codes="49" android:keyLabel="1" android:keyEdgeFlags="left"/>
<Key android:codes="50" android:keyLabel="2"/>
<Key android:codes="51" android:keyLabel="3"/>
</Row>
<Row>
<Key android:codes="52" android:keyLabel="4"/>
<Key android:codes="53" android:keyLabel="5"/>
<Key android:codes="54" android:keyLabel="6"/>
</Row>
<Row>
<Key android:codes="55" android:keyLabel="7"/>
<Key android:codes="56" android:keyLabel="8"/>
<Key android:codes="57" android:keyLabel="9"/>
</Row>
</Keyboard>
Finalmente nella tua java co aumenta la visualizzazione della tastiera o la ottieni tramite il suo id se è inclusa in un frammento o in un layout di attività. e imposti la tastiera che hai progettato per questo.
kv = (KeyboardView)getLayoutInflater().inflate(R.layout.keyboard, null);
keyboard = new Keyboard(this, R.xml.numeric);
kv.setKeyboard(keyboard);
kv.setOnKeyboardActionListener(this);
buona fortuna.
bella domanda Voglio qualcosa di nuovo –