2012-04-24 3 views
4

У меня есть приложение для Android, использующее PhoneGap 1.6 и Sencha Touch 1.1.1. В одном представлении есть текстовое поле ввода, которое ведет себя странно в Android: оно дублирует себя, и очень сложно удалить фокус.Android + Sencha Touch текстовый ввод дублируется и трудно разобрать

Я определил, что это WebTextView, переходящий поверх «реального» поля ввода. Проблема, с которой я столкнулась, заключается в том, что размытие текстового поля с помощью кранов экрана чрезвычайно сложно, и если вы прокручиваете родительский контейнер, WebTextView не прокручивает его, поэтому вы можете видеть оба одновременно.

Единственный способ снять фокусировку на элемент - это яростно коснуться всех частей экрана, подобно запуску детектора расстройства от Mavis Beacon.

Мой вопрос: как я могу полностью отключить эту функциональность или, по крайней мере, обойти ее? Не разумно ожидать, что пользователь будет делать что-либо, кроме однократного нажатия, или нажать кнопку «Назад» на устройстве, чтобы остановить ввод в текстовом поле. Как бы то ни было, нажатие Back просто утилит мягкую клавиатуру и не перестает фокусироваться.

+0

Привет @Craig R, любые новости по этой проблеме? – Zappel

+0

В итоге я создал весь собственный экран для ввода ввода. Junk. –

ответ

1

Это ошибки браузера, вызванные некоторыми CSS-флагами.

Чтобы объяснить ошибку: Устройство создает какой-то «скриншот» из контента веб-сайтов. Все преобразования и переходы выполняются поверх «скриншотов» с фактической страницы.

Если у вас есть элементы ввода, на верхней части «скриншота» будут отображаться какие-то прокси-элементы. Иногда эти прокси-элементы находятся в неправильном положении.

Это происходит, если вы активируете аппаратное ускорение веб-сайта. Вы должны отбросить некоторые CSS-определения:

transform(), translate(), transform3d(), translate3d(). 

Плохие новости являются: Вы не можете решить эту проблему, потому что это ошибка, в браузере.

У меня есть разные устройства для Android, у всех есть разные проблемы, одно исправление сломает другое устройство.

Я думаю, что ошибка никогда не будет решена, потому что никто не заботится о встроенном браузере с Android 4.1 и хром.

Если вы можете отключить аппаратное ускорение, это может помочь.

Хорошей новостью являются: Есть слухи о встраиваемом хром-веб-просмотре.

Я начал писать некоторые о «· блоги, · новый IE»: http://christian-kuetbach.de/blog/post/14