android - للانجليزية - ما معنى هذه الجملة بالعربي



كيفية إزالة البؤرة التلقائية/لوحة المفاتيح من حقل عندما تظهر الشاشة؟ (6)

لدي شاشة يكون فيها الحقل الأول عبارة عن EditText ، ويكتسب التركيز عند بدء التشغيل ، كما ينبثق من نوع الإدخال الرقمي ، وهو أمر مزعج للغاية

كيف أتأكد من أنه عند بدء النشاط ، لم يتم اكتساب التركيز و / أو لم يتم رفع لوحة الإدخال؟


Answer #1

انتقل إلى ملف بيان التطبيق الخاص بك ، واكتب هذا السطر لهذا النشاط الذي تريد تعطيل النافذة المنبثقة للوحة المفاتيح التلقائية.

android:windowSoftInputMode="stateHidden"

Answer #2

بشكل برمجي ، لا يتم عرض لوحة المفاتيح ، لكن الأداة الافتراضية لا تزال تتلقى مكالمة التركيز:

getWindow().setSoftInputMode(WindowManager.
                             LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);

في onResume()


Answer #3

لم أحاول هذا ولا أنا بالقرب من جهاز الكمبيوتر الخاص بي ، ولكني أظن أن إرسال التركيز بشكل برمجي إلى وجهة نظر الوالدين أو شيء من هذا القبيل يمكن أن تفعل خدعة - هذا أكثر احتمالا حل من حل ، ولكن مرة أخرى لا يمكن اختباره فقط فكرة


Answer #4

هذا عادة ما يكون فوضى. أول شيء أحاول هو محاولة سرقة التركيز مع وجهة نظر أخرى عبر. يجب أيضًا أن يكون لديك تركيز و focusableInTouchMode.

<TextView
  ...
  android:focusable="true"
  android:focusableInTouchMode="true">

    <requestFocus/>
</TextView>

Answer #5
getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);

استدعاء الأسلوب أعلاه داخل onCreate () . منع softKeyboard لإظهار ما لم يحدد المستخدم EditText عن طريق tapping or clicking.

أو ببساطة إضافة android:windowSoftInputMode="stateHidden" في علامة النشاط في Manifest.xml


Answer #6
if(getWindow().getAttributes().softInputMode==WindowManager.LayoutParams.SOFT_INPUT_STATE_UNSPECIFIED)
{
    getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_HIDDEN);
}




android-softkeyboard