lo he descubierto lo que estoy respondiendo a mi propia pregunta.
No se puede hacer en XML, pero se puede hacer en Java anulando el método onDraw() de KeyboardView. Este ejemplo sin sentido dibuja una pequeña letra en la parte superior de cada tecla después de que las claves son dibujadas por la clase principal:
public class MyKeyboardView extends KeyboardView {
@Override
public void onDraw(Canvas canvas) {
super.onDraw(canvas);
Paint paint = new Paint();
paint.setTextAlign(Paint.Align.CENTER);
paint.setTextSize(25);
paint.setColor(Color.RED);
List<Key> keys = getKeyboard().getKeys();
for(Key key: keys) {
if(key.label != null)
canvas.drawText(key.label.toString(), key.x + (key.width/2), key.y + 25, paint);
}
}
}
Esto es perfecto, gracias! ¿Cómo se hace que los caracteres secundarios aparezcan debajo del texto clave en lugar de arriba? –
Simplemente modifica el tercer valor en drawText(). Controla la posición y. key.y es la parte inferior de la tecla relativa a la parte inferior del teclado. –
Hola @BarryFruitman mi requisito es el mismo que el que se muestra en el teclado anterior, así que utilicé el código que se te dio en tu respuesta. Pero obtengo NullPointerException cuando estoy llamando al método drawText() en el método anulado onDraw() de la clase View. – Aniket