Sobes.tech
Junior

Co znamená parametr windowSoftInputMode v Androidu?

sobes.tech AI

Odpověď od AI

windowSoftInputMode — je atribut v elementu <activity> v souboru manifestu Android (AndroidManifest.xml), který určuje interakci okna aktivity s virtuální klávesnicí (softwarový vstup). Ovlivňuje chování okna aktivity při zobrazování nebo skrývání klávesnice.

Možné hodnoty atributu:

  • stateUnspecified: Klávesnice je skryta nebo zobrazena v závislosti na nastavení systému a kontextu. Toto je výchozí hodnota.
  • stateUnchanged: Stav klávesnice (skryto/zobrazeno) se při přechodu na tuto aktivitu nemění.
  • stateHidden: Klávesnice je vždy skryta při přechodu na tuto aktivitu.
  • stateAlwaysHidden: Klávesnice je vždy skryta, pokud má okno aktivity fokus.
  • stateVisible: Klávesnice je vždy viditelná při přechodu na tuto aktivitu.
  • stateAlwaysVisible: Klávesnice je vždy viditelná, pokud má okno aktivity fokus.
  • adjustUnspecified: Systém sám určuje, jak upravit velikost okna nebo obsah, aby se uvolnilo místo pro klávesnici. Toto je výchozí hodnota.
  • adjustResize: Velikost okna aktivity se změní tak, aby veškerý obsah mohl být posouván a zobrazit zaostřené pole vstupu, aniž by byl zakryt klávesnicí.
  • adjustPan: Okno aktivity se panoramaticky posune tak, aby bylo vidět aktuální pole vstupu, ale část obsahu může být zakryta klávesnicí. Velikost okna se nemění.
  • adjustNothing: Tento příznak je zastaralý a není podporován. Chování je podobné adjustUnspecified.

Některé hodnoty lze kombinovat (například stateVisible|adjustResize).

Příklad použití v manifestu:

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