Код: Выделить всё
a: [aaaaa]
b: [bbbb]
c: [ccc]
d: [dddddd]
e: [eeee]
... etc.
[Cancel] [OK]
Теперь, если я щелкну по любому из полей ввода, появится клавиатура. Это конечно задумано. Если количество полей превышает отображаемое количество полей, можно прокручивать вверх и вниз, чтобы отобразить поля и/или кнопки – опять же, как и предполагалось.
Однако не работает то, что – пока на экране отображается клавиатура — первое поле остается за пределами экрана, т. е. нельзя прокрутить ScrollView достаточно далеко вниз, чтобы верхнее поле (здесь: [aaaaa]) было полностью видно. Экран выглядит примерно так: становятся видны несколько нижних пиксельных линий, но большая часть первой строки остается скрытой, и, следовательно, первая строка нечитабельна.
Код: Выделить всё
_. ______
b: [bbbb]
c: [ccc]
d: [dddddd]
e: [eeee]
... etc.
[Cancel] [OK]
Я могу " заставить первую строку быть полностью видимой, когда отображается встроенная клавиатура, добавив android:paddingTop="24dp" в ScrollView, но тогда это выглядит очень странно, когда нет показана встроенная клавиатура, поскольку она вызывает довольно большое пустое пространство над списком - как будто там чего-то не хватает.
Также можно прокручивать вверх и вниз на всю длину, даже если экранная клавиатура не отображается. Но как только он появляется, верхняя строка «выпадает» поверх ScrollView.
Есть идеи, почему ScrollView не позволяет прокручивать до в самом верху содержащегося представления, когда отображается экранная клавиатура?
Подробнее здесь: https://stackoverflow.com/questions/793 ... d-is-shown
Мобильная версия