Android Webkit Ошибка ввода элементов с CSS3 translate3D
У меня есть пара проблем с элементом ввода в Android-приложении Webkit, которое я разрабатываю. Тестирование на 2.X, но 3.x, похоже, не имеет этих проблем...
Приложение работает, имея отдельные Div для каждой "страницы", и я использую CSS3 translate3D для анимации между страницами. Некоторые из этих страниц содержат элементы ввода. Когда я нажимаю на вход, чтобы получить фокус, любой из моих "фиксированных" положений Div сместится примерно на 5 пикселей сверху и на 5 пикселей влево. Теперь кикер... он в конце концов исправит себя, и никогда больше не повторится, когда вы нажмете на вход, только в первый раз...
Моя другая проблема: элементы ввода плохо работают с клавиатурами, например, исправление орфографии / автозаполнение не будут вводить текст, а при использовании Swype Keyboard вы не можете "пролистать" слово, ТОЛЬКО отдельные касания для каждой буквы будут вводить текст в Элемент ввода.
Я читал, что многие из них могут быть вызваны CSS3 Translate3D. Но я пытался почти все, чтобы исправить эти проблемы, и я искал решение для каждого сайта, но не смог найти исправления или найти кого-то еще с этой проблемой...
Кто-нибудь еще имеет эти проблемы, или знает о решении?
(Возможное решение??) Кто-нибудь знает способ переопределить поведение по умолчанию элементов ввода в веб-наборе? Интересно, смогу ли я сгенерировать свой собственный TextView и расположить его над этими полями ввода...?
Любая помощь очень ценится:)
1 ответ
Я конечно испытал это в моих приложениях для Android. translate3d оказывает определенное влияние на z-index, и поскольку у android нет аппаратного ускорения до ICS, translate3d является проблемой для использования на android 2.x. Попробуйте обычный ole translate() и да, производительность довольно печальная. Я стараюсь не делать много анимации на Android 2.x