Sobes.tech
Junior

Ką reiškia parametras windowSoftInputMode Android?

sobes.tech AI

Atsakymas iš AI

windowSoftInputMode — tai atributas Android manifesto <activity> elemente (AndroidManifest.xml), kuris nustato aktyvumo lango sąveiką su virtualia klaviatūra (programiniu įvedimu). Jis veikia aktyvumo lango elgseną, kai rodomas arba slepiamas klaviatūra:

Galimi atributo reikšmės:

  • stateUnspecified: Klaviatūra yra paslėpta arba rodoma priklausomai nuo sistemos ir konteksto nustatymų. Tai numatytoji reikšmė:
  • stateUnchanged: Klaviatūros būsenos (paslėpta/rodoma) nepakeičia pereinant prie šio aktyvumo:
  • stateHidden: Klaviatūra visada paslėpta pereinant prie šio aktyvumo:
  • stateAlwaysHidden: Klaviatūra visada paslėpta, jei aktyvumo langas yra sutelkęs dėmesį:
  • stateVisible: Klaviatūra visada matoma pereinant prie šio aktyvumo:
  • stateAlwaysVisible: Klaviatūra visada matoma, jei aktyvumo langas yra sutelkęs dėmesį:
  • adjustUnspecified: Sistema pati nusprendžia, kaip reguliuoti lango dydį arba turinį, kad būtų vietos klaviatūrai. Tai numatytoji reikšmė:
  • adjustResize: Aktyvumo lango dydis keičiasi taip, kad visas jo turinys galėtų būti nuskaitytas ir rodomas sutelktos įvesties lauko, nepertraukiant klaviatūros:
  • adjustPan: Aktyvumo langas panoraminamas taip, kad būtų matomas dabartinis įvesties laukas, tačiau dalis turinio gali būti uždengta klaviatūros. Lango dydis nekeičiama:
  • adjustNothing: Pasenęs žymeklis, nepalaikomas. Veikia kaip adjustUnspecified.

Kai kurios reikšmės gali būti sujungtos (pavyzdžiui, stateVisible|adjustResize).

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