Sobes.tech
Junior

Čo znamená parameter windowSoftInputMode v Android?

sobes.tech AI

Odpoveď od AI

windowSoftInputMode — je atribút v elemente <activity> v súbore manifestu Android (AndroidManifest.xml), ktorý určuje interakciu okna aktivity s virtuálnou klávesnicou (softvérový vstup). Ovplyvňuje správanie okna aktivity pri zobrazovaní alebo skrytí klávesnice.

Možné hodnoty atribútu:

  • stateUnspecified: Klávesnica je skrytá alebo zobrazená v závislosti od nastavení systému a kontextu. Toto je predvolená hodnota.
  • stateUnchanged: Stav klávesnice (skrytá/zobrazená) sa pri prechode na túto aktivitu nemení.
  • stateHidden: Klávesnica je vždy skrytá pri prechode na túto aktivitu.
  • stateAlwaysHidden: Klávesnica je vždy skrytá, ak má okno aktivity fokus.
  • stateVisible: Klávesnica je vždy viditeľná pri prechode na túto aktivitu.
  • stateAlwaysVisible: Klávesnica je vždy viditeľná, ak má okno aktivity fokus.
  • adjustUnspecified: Systém sám určuje, ako upraviť veľkosť okna alebo obsahu, aby sa uvoľnilo miesto pre klávesnicu. Toto je predvolená hodnota.
  • adjustResize: Veľkosť okna aktivity sa zmení tak, aby celý obsah mohol byť posúvaný a zobraziť zaostrené pole vstupu, bez toho, aby bol zakrytý klávesnicou.
  • adjustPan: Okno aktivity sa panoramaticky posunie tak, aby bolo viditeľné aktuálne pole vstupu, ale časť obsahu môže byť zakrytá klávesnicou. Veľkosť okna sa nemení.
  • adjustNothing: Tento príznak je zastaraný a nepodporuje sa. Správanie je podobné adjustUnspecified.

Niektoré hodnoty môžu byť kombinované (napríklad, stateVisible|adjustResize).

Príklad použitia v manifeste:

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