Для телефонов с QWERTY и сенсорными экранами клавиатура QWERTY открывается, когда она выдвигается, и экран переключается в ландшафтный режим (из портретного режима). Таким образом, вы можете обнаружить вызов sizeChanged (ширина, высота), определить, что трубка перешла в альбомный режим, а затем обработать его.
Существует проблема с этим подходом, если трубка переключается в альбомный режим на основе вызовов акселерометра, то это противоречиво, так как она может перейти в ландшафтный режим без выдвижения QWERTY-клавиатуры.
Так что, казалось бы, хороший подход - просто слушать событие IN / OUT и обрабатывать его. Так что твое хорошее решение. Однако, если ваше приложение должно работать на телефонах не от Nokia, которые не поддерживают слайд-события IN / OUT.
Итак, общее решение будет
- Обработка портретных / альбомных изменений
основано на вызове sizeChanged.
- Сделайте обработку ключей достаточно общей, чтобы
поддержка виртуальной клавиатуры, а также
QWERTY клавиатура.
Возможно, это было касательно, но надеюсь, что это поможет вам понять это.