Sobes.tech
Junior

Mida tähendab parameeter windowSoftInputMode Androidis?

sobes.tech AI

Vastus AI-lt

windowSoftInputMode — see on atribuut Android manifesti <activity> elemendis (AndroidManifest.xml), mis määrab aktiivsuse akna suhtluse virtuaalse klaviatuuriga (programmilise sisestusega). See mõjutab aktiivsuse akna käitumist klaviatuuri kuvamisel või peitmisel:

Võimalikud väärtused:

  • stateUnspecified: Klaviatuur on peidetud või nähtav sõltuvalt süsteemi ja konteksti seadistustest. See on vaikeseade:
  • stateUnchanged: Klaviatuuri olekut (peidetud/kuvatud) ei muudeta selle aktiivsuse vahetamisel:
  • stateHidden: Klaviatuur on alati peidetud selle aktiivsuse vahetamisel:
  • stateAlwaysHidden: Klaviatuur on alati peidetud, kui aktiivsuse aken on fookuses:
  • stateVisible: Klaviatuur on alati nähtav selle aktiivsuse vahetamisel:
  • stateAlwaysVisible: Klaviatuur on alati nähtav, kui aktiivsuse aken on fookuses:
  • adjustUnspecified: Süsteem ise otsustab, kuidas akna suurust või sisu kohandada, et klaviatuurile ruumi teha. See on vaikeseade:
  • adjustResize: Aktiivsuse akna suurus muutub nii, et kogu selle sisu saab kerida ja kuvada fookustatud sisestusvälja, ilma et klaviatuur seda varjaks:
  • adjustPan: Akna pannakse panning-efektiga nii, et praegune sisestusväli on nähtav, kuid osa sisust võib olla klaviatuuri poolt varjatud. Akna suurus ei muutu:
  • adjustNothing: Vananenud märgis, ei toetata. Töötab nagu adjustUnspecified.

Mõned väärtused võivad olla kombineeritud (näiteks stateVisible|adjustResize).

Näide kasutusest manifestis:

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