Настройте внешний вид <Key>

Некоторые сторонние клавиатуры имеют более одного символа на каждой клавише, например, Better Keyboard 8 имеет номера и пунктуацию над буквами на каждой клавише:

Better Keyboard screen shot

Можно ли это сделать с тегом <Key>? Если так, я не могу понять, как это сделать. Буду признателен, если кто-нибудь знает, как это сделать.

Спасибо заранее, Барри

Ответ 1

Я понял это, поэтому я отвечаю на свой вопрос.

Это невозможно сделать в XML, но это можно сделать на Java, переопределив метод onDraw() KeyboardView. Этот бессмысленный пример рисует маленькую букву в верхней части каждой клавиши после того, как клавиши нарисованы родительским классом:

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);
        }
    }
}