मैं एंड्रॉइड में एक साधारण टाइपिंग गेम बना रहा हूं। मुझे भौतिक कीबोर्ड से इनपुट प्राप्त करने में कोई समस्या नहीं है, लेकिन अब मैं संपादन टेक्स्ट के बिना नरम कीबोर्ड प्राप्त करने की कोशिश कर रहा हूं।क्या मैं संपादन टेक्स्ट के बिना सॉफ्ट कीबोर्ड का उपयोग कर सकता हूं?
((InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE)).showSoftInput(keyboard_edittext, InputMethodManager.SHOW_FORCED); // SHOW_IMPLICIT also failed
2.onCreate()
में यह पंक्ति:
this.getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_VISIBLE);
दृश्यता = "अदृश्य" और इस लाइन के साथ
1. EditText: अब तक, मैं निम्नलिखित की कोशिश की है
यह विधि वास्तव में स्क्रीन के नीचे 10% के नीचे एक खाली सफेद बॉक्स प्रदर्शित करती है लेकिन कीबोर्ड नहीं, हालांकि जब मैं इसे चलाता हूं तो यह कुछ भी नहीं करता है।
3.onCreate()
में एक और दो पंक्तियों:
InputMethodManager m = (InputMethodManager)this.getSystemService (Context.INPUT_METHOD_SERVICE); m.toggleSoftInput(0, InputMethodManager.SHOW_IMPLICIT);
इन में से किसी पर कोई भाग्य। क्या संपादन टेक्स्ट पर ध्यान दिए बिना सॉफ्ट कीबोर्ड (और फिर onKeyUp
/onKeyDown
) का उपयोग करना भी संभव है?
अभी, एकमात्र तरीका मैं देख सकता हूं कि यह मुलायम कीबोर्ड (यानी इसे स्क्रैच से बनाएं) का अपना कार्यान्वयन बनाना है। उस के लिए तत्पर नहीं हैं!
भले ही आप सॉफ्ट कीबोर्ड दिखाने के लिए प्रबंधन करते हैं, तोKeyUp()/Down() को कॉल नहीं किया जाएगा - कम से कम सभी कुंजी और सभी एंड्रॉइड संस्करणों के लिए नहीं। कुछ एंड्रॉइड (पुराने) संस्करणों में (मुझे लगता है 1.5 और शायद 1.6) पर केडडाउन() को संख्यात्मक कुंजी द्वारा बुलाया जाता है, लेकिन कोई पत्र नहीं। फिर भी, सामान्य रूप से सॉफ्ट कीबोर्ड इनपुट प्राप्त करने के लिए केडडाउन() पर उपयोग करने से आपको वांछित परिणाम नहीं मिलेंगे - यह केवल हार्ड कीबोर्ड का उपयोग करके ठीक से काम करेगा। – ubuntudroid