Как заставить перерисовать мягкую клавиатуру - PullRequest
1 голос
/ 21 ноября 2011

Я создал пользовательскую клавиатуру, которая не меняет размер при изменении ориентации.Я попробовал invalidateKeys(), и вручную установил размер всех клавиш, но без радости.

Ответы [ 2 ]

1 голос
/ 14 марта 2012

У меня была проблема симуляции с динамическим изменением высоты клавиш клавиатуры. Чтобы обойти проблему, я сделал несколько вещей:

1) Создайте новый класс, который расширяет класс Keyboard, который определяет открытый метод getKeyHeight и переопределяет метод getHeight. Код моего прототипа:

public void setKeyHeight(int height) {
   super.setKeyHeight(height);
}

@Override
public int getHeight() {
   return getKeyHeight() * 3;
}

2) Определен новый метод в моем

double height_modifier = 1.5;

int height = 0;
for(Keyboard.Key key : mKeyboard.getKeys()) {
   key.height *= height_modifier;
   key.y *= height_modifier;
   height = key.height;
}
mKeyboard.setKeyHeight(height);

Надеюсь, это поможет ...

0 голосов
/ 06 февраля 2013

Моя клавиатура меняет некоторые клавиши и перерисовывает программную клавиатуру после того, как пользователь нажимает любую кнопку символа.Я вызываю invalidateAllKeys() на моем подклассе KeyboardView, чтобы перерисовать клавиатуру.invalidateAllKeys() отлично работает!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...