Настроить внешний вид <Key> - PullRequest
10 голосов
/ 14 мая 2011

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

Better Keyboard screen shot

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

Заранее спасибо, Барри

1 Ответ

27 голосов
/ 28 мая 2011

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

Это не может быть сделано в 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);
        }
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...