2015-05-16 7 views
13

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

enter image description here

संपादित करें:

तो, मैं एक GridView का उपयोग कर निम्नलिखित की तरह एक कीपैड लागू किया है।

enter image description here

अब, मैं कुछ ओवरले (क्लिक पर) डिफ़ॉल्ट कुंजीपटल के रूप में डाल करने के लिए कोशिश कर रहा हूँ।

धन्यवाद :)

+0

प्यारा सवाल मैं कुछ नया –

उत्तर

6

आप देख रहे हैं क्या मैं आप अपने कस्टम कुंजीपटल बनाने के लिए KeyboardView उपयोग कर रहे हैं मान है "कुंजी पूर्वावलोकन" । आप इसे ऐसा ही कुछ किया जाना चाहिए setPreviewEnabled(boolean previewEnabled) फोन करके कुंजी पूर्वावलोकन सक्षम कर सकते हैं: mKeyboardView.setPreviewEnabled(true);

संपादित करें:

मुझे लगता है कि इस link अपने कार्यान्वयन में मदद मिलेगी और विवरण मैं करने के लिए क्या प्रयास कर रहा था में अधिक बताते हैं।

सबसे पहले आप कुंजीपटल के लिए एक लेआउट बनाने के लिए, आम तौर पर यह केवल एक keyboardView शामिल हैं:

<?xml version="1.0" encoding="UTF-8"?> 
    <android.inputmethodservice.KeyboardView 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:id="@+id/keyboard" 
    android:layout_width="match_parent" 
    android:layout_height="wrap_content" 
    android:layout_alignParentBottom="true" 
    android:keyPreviewLayout ="@layout/preview" /> 

और फिर आप पूर्वावलोकन के लिए एक और लेआउट बनाने के लिए:

<?xml version="1.0" encoding="utf-8"?> 
<TextView xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent" 
    android:gravity="center" 
    android:background="#ffff00" 
    android:textStyle="bold" 
    android:textSize="30sp">  
</TextView> 

उसके बाद आप अपने कीबोर्ड डिजाइन आपके मामले में ऐसा कुछ:

<Keyboard xmlns:android="http://schemas.android.com/apk/res/android" 
    android:keyWidth="10%p" 
    android:horizontalGap="0px" 
    android:verticalGap="0px" 
    android:keyHeight="60dp"> 
    <Row> 
     <Key android:codes="49" android:keyLabel="1" android:keyEdgeFlags="left"/> 
     <Key android:codes="50" android:keyLabel="2"/> 
     <Key android:codes="51" android:keyLabel="3"/> 
    </Row> 
    <Row> 
     <Key android:codes="52" android:keyLabel="4"/> 
     <Key android:codes="53" android:keyLabel="5"/> 
     <Key android:codes="54" android:keyLabel="6"/> 
    </Row> 
    <Row> 
     <Key android:codes="55" android:keyLabel="7"/> 
     <Key android:codes="56" android:keyLabel="8"/> 
     <Key android:codes="57" android:keyLabel="9"/> 
    </Row> 
</Keyboard> 

अंततः आपके जावा सह में यदि आप अपने कीबोर्ड दृश्य को फुलाते हैं या आप इसे अपने आईडी से प्राप्त करते हैं तो यह एक खंड या गतिविधि लेआउट में शामिल है। और आपने कीबोर्ड को सेट किया है जिसे आपने डिज़ाइन किया था।

kv = (KeyboardView)getLayoutInflater().inflate(R.layout.keyboard, null); 
keyboard = new Keyboard(this, R.xml.numeric); 
kv.setKeyboard(keyboard); 
kv.setOnKeyboardActionListener(this); 

शुभकामनाएँ।

+0

चाहता हूं मैं कीबोर्ड दृश्य का उपयोग नहीं कर रहा हूं। मैंने विचारों का उपयोग करके अपना खुद का कीपैड बनाया। लेकिन प्रमुख प्रेस के साथ एक शानदार अनुभव बनाने के लिए मैं सामान्य विचारों के साथ इस तरह के ओवरले सॉर्टा चीज को लागू करना चाहता था। धन्यवाद – sagarpatidar

+0

मुझे विचारों का उपयोग करके आपका क्या मतलब नहीं है!क्या आप अपना कस्टम कीबार्ड बना रहे हैं, इस बारे में अधिक जानकारी जोड़ सकते हैं? आम तौर पर आपको पंक्तियों और चाबियों के साथ एक एक्सएमएल कीबार्ड बनाना होगा, कीबोर्ड के लिए एक एक्सएमएल लेआउट, और पूर्वावलोकन के लिए एक और। – MAB

+0

एमएबी, अधिक जानकारी जोड़ा गया। – sagarpatidar

1

कुंजी पूर्वावलोकन कार्यक्षमता के लिए PopupWindow का उपयोग करें (असल में मैंने अपनी आखिरी आईएमई परियोजना पर भी वही किया)।

मैं तुम्हें KeyboardView का एक बच्चा वर्ग का उपयोग कर, क्योंकि यह बातें eay.Each समय बनाने के लिए key दबाया जाता है आप कार्यप्रणाली की सहायता के बहुत सारे प्रदान करता है की सलाह देते हैं, onPressed वापस बुलाया जाता है और फिर आप जानते हैं जो एक दबाया जाता है। और KeyboardView के स्रोत कोड में गोता लगाएँ, आप कक्षा से अपना popupWindow कहां रखना सीख सकते हैं।

बस थोड़ा सा प्रयास। लेकिन अगर आपकी कक्षा KeyboardView (GridView का उपयोग करने से) से प्राप्त नहीं होती है, तो आपको इसे समझने के लिए और अधिक समय लेना होगा। वैसे भी, स्रोत कोड एक अच्छी शुरुआत है।

+0

एक अच्छा विचार की तरह लगता है, पॉपअपविंडो, मैं इसे आजमाउंगा। धन्यवाद। – sagarpatidar

+0

http://stackoverflow.com/questions/9350654/popup-keyboard-issue-in-android-when-column-limits-are- निर्दिष्ट किया गया देखें: –

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