2012-04-03 12 views
8

जो मैं करना चाहता हूं वह केवल पॉपअप को छिपाता है जो दिखाता है कि आप वर्तमान में एक सॉफ्ट कीबोर्ड का उपयोग करते समय क्या कुंजी दबा रहे हैं। क्या यह संभव है? मैं अपना नया कीबोर्ड बना रहा हूं जिसके लिए उनकी आवश्यकता नहीं होगी।एंड्रॉइड कीबोर्ड कुंजी पूर्वावलोकन छुपाएं

मुझे लगता है कि मैं समझता हूं कि नीचे की तस्वीर वास्तविक पॉपअप कीबोर्ड है जिसे आप android:popupKeyboard और android:popupCharacters का उपयोग Keyboard.Key एक्सएमएल में दिखाने के लिए चुन सकते हैं।

Popup Android Keyboards

लेकिन नीचे दी गई छवि नहीं है ही (भी this picture देखें)। एक्सएमएल या यहां तक ​​कि प्रोग्रामेटिक रूप से, निम्नलिखित बंद करने का कोई तरीका है?

Android Keyboard Popups

उत्तर

14

a little bit of the actual android keyboard source code पढ़ने के बाद: "। एक पॉपअप कि उदास कुंजी के एक बढ़ाया संस्करण से पता चलता"

क्या मैं "कुंजी पूर्वावलोकन" है, जो है था की चर्चा करते हुए किया गया था डिफ़ॉल्ट रूप से पूर्वावलोकन सक्षम है, लेकिन इसे अक्षम करने के लिए, बस पर्याप्त है, setPreviewEnabled(boolean previewEnabled) है। KeyboardView कक्षा से एक विधि कौन सा है। API

+0

हाय @Whymarrh का विस्तार करता है, तो आप अपने दम पर विकसित किया है एक कस्टम वर्ग के भीतर से पहले पूर्वावलोकन अक्षम मैं कहाँ समस्या का सामना कर रहा हूं, जहां मैं नीचे दिए गए पहले कीबोर्ड क्यू में दिखाए गए एक कुंजी पर एकाधिक वर्ण प्रदर्शित करना चाहता हूं। मैंने लेबल पर उपयोग करके कुंजी पर एकाधिक/मल्टीलाइन वर्ण प्रदर्शित करने की कोशिश की है, तो मुझे यह लिंक दिखाया गया है कि यह लिंक "http : //puu.sh/4Xmz1.png "। तो क्या आप कृपया गाइड पर एकाधिक अक्षरों को प्रदर्शित करने के लिए मार्गदर्शन कर सकते हैं ... – Aniket

+0

@ एनीनेट आप गिटहब पर अपना पूरा स्रोत कोड ऑनलाइन देख सकते हैं: http://git.io/mM7pPQ। इस फ़ाइल के अनुसार, आपको कुंजी पर जो चाहिए उसे प्रदर्शित करने के लिए यूनिकोड वर्णों का उपयोग करने का प्रयास कर सकते हैं: http://git.io/SXo3GA। – Whymarrh

+0

यह मेरे लिए काम किया। मुझे बस "कीबोर्डव्यू" कक्षा से "setPreviewEnabled (बूलियन)" विधि का उपयोग करना पड़ा। –

5
public void onPress(int primaryCode) { 
    mInputView.setPreviewEnabled(false); 
} 

public void onRelease(int primaryCode) { 
    mInputView.setPreviewEnabled(true); //Change to false if you want remove too for the Del key when it's pressed 
} 

साथ ही, दृश्य प्राप्त करने के और सार्वभौमिक, मैं भी softkeyboard पर काम कर रहा हूँ InputMethodService

private KeyboardView mInputView; 
    @Override 
    public KeyboardView onCreateInputView() { 
     mInputView = (KeyboardView)getLayoutInflater().inflate(R.layout.keyboard, null); 
     mInputView .setPreviewEnabled(false); 
     return mInputView; 
    } 
संबंधित मुद्दे