फोकस यूआई घटकों को चुनने के लिए है जब आप स्पर्श के अलावा कुछ का उपयोग कर रहे हैं (यानी, एक डी-पैड, एक कीबोर्ड, आदि)। कोई भी दृश्य फोकस प्राप्त कर सकता है, हालांकि कुछ डिफ़ॉल्ट रूप से ध्यान देने योग्य नहीं हैं। (आप setFocusable(true)
इसके साथ ध्यान केंद्रित करने के लिए एक दृश्य बना सकते हैं और इसे ध्यान केंद्रित करने के लिए मजबूर कर सकते हैं requestFocus()
।)
हालांकि, यह ध्यान रखना महत्वपूर्ण है कि जब आप टच मोड में होते हैं, तो फोकस अक्षम होता है । इसलिए यदि आप अपनी उंगलियों का उपयोग कर रहे हैं, तो फोकस को प्रोग्रामेटिक रूप से बदलना कुछ भी नहीं करता है। इसका अपवाद उन विचारों के लिए है जो इनपुट संपादक से इनपुट प्राप्त करते हैं। एक EditText
ऐसा उदाहरण है। इसके लिए विशेष स्थिति setFocusableInTouchMode(true)
का उपयोग नरम कीबोर्ड को यह बताने के लिए किया जाता है कि इनपुट कहां भेजा जाए। एक EditText
डिफ़ॉल्ट रूप से इस सेटिंग है। सॉफ्ट कीबोर्ड अपने आप पॉप अप हो जाएगा।
अगर आप नहीं चाहते कि सॉफ्ट कीबोर्ड अपने आप पॉप अप हो जाए तो आप इसे अस्थायी रूप से दबा सकते हैं जैसा कि @abeljus ने नोट किया है:
InputMethodManager inputManager = (InputMethodManager) getSystemService(INPUT_METHOD_SERVICE);
inputManager.hideSoftInputFromWindow(this.getCurrentFocus().getWindowToken(), InputMethodManager.HIDE_NOT_ALWAYS);
जब कोई उपयोगकर्ता EditText
कीबोर्ड पर क्लिक करता है , तो उसे अभी भी कीबोर्ड दिखाना चाहिए, हालांकि।
आगे की पढाई: