Я работаю на Android Образец SoftKeyboard . Это имеет смысл, но я столкнулся с проблемой. Клавиатура будет заполнять только приблизительно 88% экрана (480 пикселей на экране 540 пикселей).
Я разрабатываю на Atrix 4G, у которого, по-видимому, есть проблема с 2.3.4, насколько я могу судить, оригинальные устройства с экранами qHD не показывают большинство клавиатур правильно (это была проблема с CM7 для пока так же). Каждая клавиатура, которую я могу найти, исправлена, но я не знаю, как они достигли этого.
Клавиатура показывает именно то, что я ожидал от Эмулятора (ширина экрана 480px), просто на самом устройстве это странно.
Код в образце, который, по-видимому, управляет шириной IME, показан ниже, но даже установка его в явную ширину разрешения экрана не решает проблему.
/**
* This is the point where you can do all of your UI initialization. It
* is called after creation and any configuration change.
*/
@Override public void onInitializeInterface() {
if (mQwertyKeyboard != null) {
// Configuration changes can happen after the keyboard gets recreated,
// so we need to be able to re-build the keyboards if the available
// space has changed.
int displayWidth = getMaxWidth();
if (displayWidth == mLastDisplayWidth) return;
mLastDisplayWidth = displayWidth;
}
mQwertyKeyboard = new LatinKeyboard(this, R.xml.qwerty);
mSymbolsKeyboard = new LatinKeyboard(this, R.xml.symbols);
mSymbolsShiftedKeyboard = new LatinKeyboard(this, R.xml.symbols_shift);
}
РЕДАКТИРОВАТЬ: нашел хотя бы временный обходной путь, отключение режима совместимости делает приложение должным образом ... Хотя не уверен, почему это необходимо, поскольку приложение развернуто с использованием правильной версии API (Gingerbread / 10).