Sobes.tech
Junior

Параметри windowSoftInputMode дар Android чӣ маъно дорад?

sobes.tech AI

Ҷавоб аз AI

windowSoftInputMode — ин атрибут дар элемент <activity> дар файли манфести Android (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>