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>