Sobes.tech
Junior

Androidда windowSoftInputMode параметри эмне мааниге ээ?

sobes.tech AI

AIден жооп

windowSoftInputMode — бул Android манифестиндеги <activity> элементинде турган атрибут (AndroidManifest.xml), ал активдүүлүк терезесинин виртуал клавиатурасы менен өз ара аракеттенүүсүн аныктайт (программалык киргизүү). Ал активдүүлүк терезесинин жүрүм-турумун клавиатура көрсөтүлгөндө же жашырылганда таасир этет:

Мүмкүн болгон маанилер:

  • stateUnspecified: Клавиатура жашырылган же көрсөтүлгөн, системанын жана контексттин жөндөөлөрүнө жараша. Бул алдын ала мааниси:
  • stateUnchanged: Клавиатуранын абалы (жашырылган/көрсөтүлгөн) бул активдүүлүккө өтүүдө өзгөрбөйт:
  • stateHidden: Клавиатура дайыма жашырылган болот бул активдүүлүккө өтүүдө:
  • stateAlwaysHidden: Клавиатура дайыма жашырылган болот, эгер активдүүлүк терезеси фокусунда болсо:
  • stateVisible: Клавиатура дайыма көрүнөт бул активдүүлүккө өтүүдө:
  • stateAlwaysVisible: Клавиатура дайыма көрүнөт, эгер активдүүлүк терезеси фокусунда болсо:
  • adjustUnspecified: Жүйө өзү терезенин өлчөмүн же мазмунун тууралайт, клавиатура үчүн орун бошотуу үчүн. Бул алдын ала мааниси:
  • adjustResize: Активдүүлүк терезесинин өлчөмү өзгөртүлөт, ошентип анын бардык мазмуны сыргырып, фокусталган кирүү талаасын көрсөтө алат, клавиатура тарабынан жабыркабай:
  • adjustPan: Активдүүлүк терезеси панорамаланып, учурдагы кирүү талаасы көрүнөт, бирок мазмундун бир бөлүгү клавиатура тарабынан жабылат. Терезенин өлчөмү өзгөрбөйт:
  • adjustNothing: Эскирген белгилөө жана колдоо көрсөтпөйт. adjustUnspecified сыяктуу иштейт.

Кээ бир маанилер бириктирилиши мүмкүн (мисалы, stateVisible|adjustResize).

Манифестте колдонуу мисалы:

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