Android: WindowsoftInputMode = "AdjustreSize" quando eu já tenho ScrollView na atividade

StackOverflow https://stackoverflow.com/questions/4605076

  •  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.

Foi útil?

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.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top