2009-12-13 18 views
19

एंड्रॉइड पर ऐप विशिष्ट सॉफ्ट कीबोर्ड बनाने का कोई तरीका है? InputMethodService दस्तावेज़ों के बारे में पढ़ने और वैकल्पिक कीबोर्ड ऐप्स को देखने के बाद, मुझे लगता है कि वैकल्पिक कीबोर्ड केवल सिस्टम विस्तृत उपयोग (सेटिंग -> लोकेल और टेक्स्ट के माध्यम से) के लिए कॉन्फ़िगर किया जा सकता है।एंड्रॉइड ऐप विशिष्ट सॉफ्ट कीबोर्ड

यदि उपर्युक्त प्रश्न का उत्तर नहीं है, तो क्या कस्टम कीबोर्ड लोड करने के लिए कम से कम एक तरीका है और सिस्टम कीबोर्ड के डिफ़ॉल्ट शब्दकोश को ओवरराइड करें (केवल तभी जब मेरा ऐप उपयोग में है)? इससे उपयोगकर्ता को बहुत ही प्रासंगिक सुझाव देने में मदद मिलेगी जब उसने केवल कुछ चाबियाँ टैप की हैं।

उत्तर

21

यदि आप सिर्फ एक ऐसा दृश्य देखना चाहते हैं जो मुलायम कीबोर्ड की तरह दिखता है और कार्य करता है, तो मैंने इसे my SmallKeyboard class में किया था। आपको बस android.inputmethodservice.KeyboardView का विस्तार करने और लेआउट पर निर्णय लेने की आवश्यकता है। कुंजी दबाए जाने पर की गई कार्रवाई के लिए उस फ़ाइल के अंत में ऑनकी और ऑनटेक्स्ट विधियों को देखें।

मेरे कीबोर्ड मॉडल आंतरिक वर्ग के बजाय, यदि आपका कुंजी सेट काफी स्थिर है तो आप load it from XML कर सकते हैं।

+0

यह उपयोगी लग रहा है। मैंने कीबोर्ड को कैसे काम किया है, यह देखने के लिए मैंने एसजीटीपी पहेलियां स्थापित की हैं, लेकिन मुझे स्क्रीन पर नहीं मिल सका। मुझे केवल फिर से/पूर्ववत बटन मिलते हैं। कौन सा पहेली SmallKeyboard के उदाहरण पॉप अप करेगा? धन्यवाद। – Jayesh

+0

पूर्ववत/फिर से बटन वास्तव में ऐसा एक उदाहरण हैं, लेकिन पहेलियों में अधिक रोचक उदाहरण देखे जा सकते हैं जहां संख्या प्रविष्टि की आवश्यकता होती है: भरना, सोलो, असमान (और जल्द ही आ रहा है, उत्सुक और टावर्स)। इसके अलावा अनुमान और मानचित्र में कम से कम अतिरिक्त बटन हैं। –

+0

धन्यवाद। यह मुझे लगता है कि नौकरी करता है। – Jayesh

9

एंड्रॉइड नेथैक एप्लिकेशन में एक पूर्ण और स्पष्ट स्रोत कोड उदाहरण है कि एप्लिकेशन के लिए कस्टम कीबोर्ड कैसे बनाएं, स्क्रीन पर इसे कैसे प्रदर्शित करें और एकाधिक कीबोर्ड लेआउट को कैसे परिभाषित करें। इसमें आपको बहुत कुछ जानने की ज़रूरत है।

यह अब तक का सबसे अच्छा उदाहरण है।

http://code.google.com/p/nethack-android/

संबंधित मुद्दे