android: windowSoftInputMode = "AdjustResize", когда у меня уже есть ScrollView в деятельности - PullRequest
9 голосов
/ 05 января 2011

У меня есть активность с этой структурой макетов: LinearLayout -> ScrollView -> TableLayout

Ниже TableLayout у меня есть EditText, который я хочу прокрутить, когда клавиатура активна. Итак, согласно некоторым прочтениям, я добавил:

android:windowSoftInputMode="adjustResize"

в AndroidManifest.xml, к соответствующему мероприятию и добавил оболочку ScrollView в файл activity.xml, поэтому структуры макетов этого действия теперь выглядят следующим образом: ScrollView -> LinearLayout -> ScrollView -> TableLayout

Проблема: внутренний ScrollView сейчас не работает ... Я думаю, что ScrollView обертывания берет на себя управление при прикосновении ...

Как я могу решить эту проблему?

Любая помощь будет оценена. Спасибо.

1 Ответ

10 голосов
/ 19 января 2011

Я столкнулся с той же проблемой, когда виртуальная клавиатура скрывала EditTexts на моем экране. Я ввел следующее свойство для тега активности в файле манифеста:

 android:windowSoftInputMode="stateVisible|adjustResize|adjustPan"

Также мне нужно было добавить следующий код в функцию OnCreate действия:

this.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);

Это решило проблему и прекрасно работало на всех эмуляторах разрешения и устройствах Samsung. Однако на устройстве Google Nexus S произошел сбой, и я снова увидел ту же проблему с виртуальной клавиатурой, скрывающей EditTexts.

...