لوحة المفاتيح على أجهزة الروبوت هي واحدة من أهم عناصر تفاعل المستخدم. ولكن في بعض الأحيان قد يكون من الضروري التحقق مما إذا كانت لوحة المفاتيح مفتوحة على الجهاز في الوقت الحالي. على سبيل المثال ، إذا كنت تقوم بتطوير تطبيق وتريد تنفيذ إجراءات معينة اعتمادا على حالة لوحة المفاتيح.
للتحقق مما إذا كانت لوحة المفاتيح مفتوحة ، يمكنك استخدام فئة إنبوتمثودماناجر. ويوفر أساليب مختلفة للعمل مع لوحة المفاتيح ، بما في ذلك طريقة إيساكتيف () ، والذي يسمح لك للتحقق من حالة لوحة المفاتيح.
مثال على استخدام الأسلوب إيساكتيف () في فئة إنبوتمثودماناجر:
إنبوتمثودماناجر إم = (إنبوتمثودماناجر) جيتسيستمسيرفيس(السياق.إدخال _ طريقة _ خدمة);
لوحة مفاتيح منطقية مفتوحة = إم.إيساكتيف();
إذا كانت لوحة المفاتيح مغلقة.
وهكذا ، يمكنك استخدام طريقة إيساكتيف () من فئة إنبوتميثودماناجر للتحقق مما إذا كانت لوحة المفاتيح على جهاز الروبوت مفتوحة حاليا.
- طرق للتحقق من توافر لوحة المفاتيح على جهاز الروبوت
- كيف يمكنني معرفة ما إذا كانت لوحة المفاتيح مفتوحة على الروبوت?
- طريقة برمجية للتحقق من حالة لوحة المفاتيح
- استخدام مستمع لوحة المفاتيح لتحديد إمكانية الوصول
طرق للتحقق من توافر لوحة المفاتيح على جهاز الروبوت
الطريقة 1: استخدام إنبوتمثودماناجر.إيساكتيف()
طريقة للتحقق من توافر لوحة المفاتيح ، يمكنك استخدام الأسلوب إيساكتيف () من فئة إنبوتمثودماناجر. ترجع هذه الطريقة صحيحة إذا كانت لوحة المفاتيح مفتوحة أو خاطئة بخلاف ذلك. مثال على استخدام هذه الطريقة:
إنبوتمثودماناجر إم = (إنبوتمثودماناجر) جيتسيستمسيرفيس(السياق.إدخال _ طريقة _ خدمة);لوحة مفاتيح منطقية مفتوحة = إم.إيساكتيف();
الطريقة 2: التحقق من تغيرات ارتفاع الشاشةهناك طريقة أخرى للتحقق من إمكانية الوصول إلى لوحة المفاتيح وهي التحقق من تغيير ارتفاع الشاشة. عند فتح لوحة المفاتيح أو إغلاقها ، يتغير ارتفاع شاشة الجهاز. للقيام بذلك ، يمكنك استخدام المستمع أونغلوبالايوتليستينر والتحقق من ارتفاع الشاشة:
المحتوى النهائي فيو جروب فيو = (فيو جروب) فيندفيوبيد (محتوى أندرويد آر آي دي);
عرض المحتوى.جيتفيوتريوبسيرفر ().ادونغلوبالايوتليستينر (جديد على غلوبالايوتليستينر () {@تجاوز
الفراغ العام على جلوبالالايوت () {
إنت كونتنتفيوهايت = كونتنتفيو.جيثيت();
- // قارن ارتفاع الشاشة الحالي بالارتفاع المحفوظ لمعرفة ما إذا كان الارتفاع قد تغير (أي أن لوحة المفاتيح مفتوحة أو مغلقة)
- نافذة كيرنتويندو = جيتويندو ();
}
});الطريقة 3: استخدام مدير النافذة.لايوتبارامز.لينة_إدخال_الدولة _ العلم المرئي
هناك طريقة أخرى للتحقق من إمكانية الوصول إلى لوحة المفاتيح وهي استخدام العلم المرئي من النافذة.فئة لايوتبارامز. إذا تم تعيين هذه العلامة ، لوحة المفاتيح مفتوحة ، وإلا يتم إغلاقه. مثال الاستخدام:إنت سوفتينبوستات = كرينتويندو.جيتاتريبوتس ().سوفتينبوتمود;
إسكيبواردوبين = (سوفتينبوتستات & ويندوماناجر.لايوتبارامز.لينة _ إدخال _ حالة _ مرئية)!= 0;باستخدام هذه الأساليب ، سوف تكون قادرة على التحقق من توافر لوحة المفاتيح على جهاز الروبوت الخاص بك واتخاذ القرارات في التطبيق الخاص بك اعتمادا على هذا الشرط.
كيف يمكنني معرفة ما إذا كانت لوحة المفاتيح مفتوحة على الروبوت?
للتحقق مما إذا كانت لوحة المفاتيح مفتوحة على جهاز أندرويد ، يمكنك استخدام طرق مختلفة لفحص حالة نافذة النشاط. وفيما يلي عدة طرق للتحقق من حالة لوحة المفاتيح على الروبوت:
عرض روتفيو = فيندفيوبيد (الروبوت آر معرف المحتوى);
الفراغ العام على جلوبالالايوت () {المستقيم ص = المستقيم الجديد();
إنت لوحة المفاتيحارتفاع = شاشةارتفاع-ص. أسفل;
إذا (ارتفاع لوحة المفاتيح > ارتفاع الشاشة * 0.15) {//إذا كان ارتفاع لوحة المفاتيح أكثر من 15 ٪ من ارتفاع الشاشة
// لوحة المفاتيح مفتوحة
} آخر {
// لوحة المفاتيح مغلقة
}
}});
باستخدام أعلام النافذةيمكنك أيضا التحقق من إشارات نافذة النشاط لتحديد حالة لوحة المفاتيح. إذا تم حظر نافذة النشاط بواسطة لوحة المفاتيح ، فإن النافذةمدير.لايوتبارامز.سيتم تعيين العلم. يمكنك التحقق من هذه العلامة في نشاطك أو جزء كما يلي: