Sobes.tech
Junior

O que significa o parâmetro windowSoftInputMode no Android?

sobes.tech IA

Resposta da IA

windowSoftInputMode — é um atributo no elemento <activity> do manifesto Android (AndroidManifest.xml), que define a interação da janela da atividade com o teclado virtual (entrada de software). Ele influencia o comportamento da janela da atividade ao mostrar ou esconder o teclado.

Valores possíveis do atributo:

  • stateUnspecified: O teclado está oculto ou visível dependendo das configurações do sistema e do contexto. Este é o valor padrão.
  • stateUnchanged: O estado do teclado (oculto/visível) não muda ao acessar esta atividade.
  • stateHidden: O teclado está sempre oculto ao acessar esta atividade.
  • stateAlwaysHidden: O teclado está sempre oculto se a janela da atividade tiver foco.
  • stateVisible: O teclado está sempre visível ao acessar esta atividade.
  • stateAlwaysVisible: O teclado está sempre visível se a janela da atividade tiver foco.
  • adjustUnspecified: O sistema determina como ajustar o tamanho da janela ou do conteúdo para deixar espaço para o teclado. Este é o valor padrão.
  • adjustResize: O tamanho da janela da atividade muda para que todo o seu conteúdo possa ser rolado e mostrar o campo de entrada focado, sem ser coberto pelo teclado.
  • adjustPan: A janela da atividade é panorâmica para que o campo de entrada atual seja visível, embora parte do conteúdo possa ser coberta pelo teclado. O tamanho da janela não muda.
  • adjustNothing: A flag está obsoleta e não é suportada. O comportamento é semelhante a adjustUnspecified.

Alguns valores podem ser combinados (por exemplo, stateVisible|adjustResize).

Exemplo de uso no manifesto:

<activity
    android:name=".MainActivity"
    android:label="@string/app_name"
    android:windowSoftInputMode="stateVisible|adjustResize">
    <intent-filter>
        <action android:name="android.intent.action.MAIN" />
        <category android:name="android.intent.category.LAUNCHER" />
    </intent-filter>
</activity>