SoftKeyboard नमूना वास्तव में आपके लिए आवश्यक चीज़ों के समान संरचित है, हालांकि आप इसे नहीं जानते हैं। इसे तोड़ने के नीचे हैं - यहाँ एक पूरा ठूंठ को किसी इनपुट विधि सेवा के रूप में कार्य और मानक एक्सएमएल कीबोर्ड का उपयोग करने के तरीके:
import android.inputmethodservice.InputMethodService;
import android.inputmethodservice.Keyboard;
public class MyInputMethod extends InputMethodService {
private Keyboard mKeyboard;
@Override public void onInitializeInterface() {
mKeyboard = new Keyboard(this, R.xml.qwerty);
}
@Override public View onCreateInputView() {
mInputView = (KeyboardView) getLayoutInflater().inflate(
R.layout.input, null);
mInputView.setKeyboard(mKeyboard);
return mInputView;
}
}
ध्यान दें कि दो एक्सएमएल दस्तावेजों नाम हैं। पहला, res/xml/qwerty.xml
, लेआउट को परिभाषित करता है ताकि KeyboardView
क्लास कीबोर्ड को आकर्षित करने के बारे में जानता है। (सरलीकृत)
लेकिन लेआउट जो इसे अनावश्यक रूप से बढ़ा, res/layout/input.xml
, इस के होते हैं:
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android">
<android.inputmethodservice.KeyboardView android:id="@+id/keyboard" />
</LinearLayout>
यह सब आप एलान के तौर पर एक दृश्य बनाने की जरूरत है! एक स्टैंड-अलोन बनाना View
Activity
बनाने से बहुत अलग नहीं है। आपके पास मानक गतिविधि जीवन चक्र नहीं है, लेकिन दोनों वातावरण आपको एक्सएमएल लेआउट तक पहुंच प्रदान करते हैं। आपको केवल इतना करना है कि inflater का उपयोग करें, आपको आवश्यक किसी भी सबव्यूव का संदर्भ दें, और फिर मुख्य दृश्य वापस करें।
तो उम्मीद है कि आप इसके बारे में सोचने के बाद अपना लेआउट फुला सकेंगे।
यदि आपका लेआउट पर्याप्त सरल है तो आपको XML लेआउट का उपयोग करने की भी आवश्यकता नहीं है। यदि आपकी इनपुट विधि में एक ही दृश्य के पूरी तरह से शामिल हो सकते हैं, तो आप इसे सीधे onCreateInputView
में तुरंत चालू कर सकते हैं। यहां एक संपूर्ण ठूंठ इनपुट विधि सेवा है कि किसी भी एक्सएमएल का उपयोग नहीं करता है: (। बेशक प्रकट में बॉयलरप्लेट और res/xml/method.xml
फ़ाइलों को अभी भी नहीं होगा)
public class MyInputMethod extends InputMethodService {
MyView view;
@Override
public View onCreateInputView() {
return view = new MyView(this);
}
}
स्रोत
2011-06-23 03:08:30
कृपया मेरी मदद कैसे स्थापित करने के लिए अपना खुद का कीबोर्ड? मैंने अलग-अलग एप्लिकेशन का उपयोग किया है। मैं टेक्स्टबॉक्स (बाएं या दाएं) के पास छोटा कीबोर्ड दिखाना चाहता हूं। यह मेरा प्रश्न है। http://stackoverflow.com/questions/7357876/set-keyboard- समन्वय-how-to-set-the-keyboard-xy-co-ordination मैंने एंड्रॉइड एपीआई डेमो का उपयोग करके अपना खुद का कीबोर्ड किया है ... – Piraba