Android: WindowsoftInputMode = "AdjustreSize" quando eu já tenho ScrollView na atividade
-
25-09-2019 - |
Pergunta
Eu tenho uma atividade com esta estrutura de layouts: linearlayout -> scrollView -> tablayout
Abaixo do tablelayout, eu tenho EditText, que quero ser rolado quando o teclado estiver ativo. Então, de acordo com algumas leituras que fiz, adicionei:
android:windowSoftInputMode="adjustResize"
Para AndroidManifest.xml, para a atividade relevante, e adicionou um invólucro do ScrollView ao arquivo Activity.xml, de modo que as estruturas dos layouts da atividade são agora as seguintes: scrollView -> linearlayout -> scrollView -> tablayout
O problema: o interno ScrollView não está funcionando agora ... Acho que o Wapping ScrollView está assumindo o controle quando tocado ...
Como posso resolver esse problema?
Qualquer ajuda será apreciada. Obrigado.
Solução
Eu estava enfrentando o mesmo problema em que o teclado virtual estava escondendo o EdittExts na minha tela. Aprendi a seguinte propriedade para a tag de atividade no arquivo de manifesto:
android:windowSoftInputMode="stateVisible|adjustResize|adjustPan"
Além disso, eu precisava adicionar o seguinte código na função OnCreate da atividade:
this.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);
Isso resolveu o problema e funcionou perfeitamente bem em todos os emuladores de resolução e dispositivos Samsung. No entanto, falhou no dispositivo do Google Nexus e eu pude ver o mesmo problema novamente do teclado virtual escondendo os EditTexts.