2010-11-02 16 views
5

मैं एक प्रतिस्थापन कीबोर्ड विकसित करना चाहता हूं, लेकिन मुझे डर है कि एंड्रॉइड मानता है कि सामान्य कीबोर्ड 'क्षेत्र' एक आयताकार आकार होगा जो स्क्रीन के नीचे बैठता है।ऑन-स्क्रीन एंड्रॉइड कीबोर्ड कैसे बनाएं जो स्क्रीन के निचले हिस्से में एक आयत नहीं है?

मुझे अपने कुंजीपटल एकाधिक आकृतियों है कि सिर्फ स्क्रीन के तल पर नहीं बैठ से मिलकर करना चाहते हैं? क्या मैं शुरुआत से बर्बाद हो गया हूं, या क्या करना है जो मैं करना चाहता हूं?

एक संबंधित नोट पर, क्या हुआ अगर मैं केवल फोन एक निश्चित अभिविन्यास में है, लेकिन जब फोन एक अलग उन्मुखीकरण में आयोजित किया जाता है, सामान्य नरम कुंजीपटल प्रयोग किया जाता है जब मेरे कुंजीपटल प्रकट करने के लिए करना चाहते हैं? फिर से, भाग्य या संभव से बाहर?

चीयर्स!

+0

यदि आप वास्तव में एक प्रतिस्थापन एंड्रॉइड कीबोर्ड "हॉट बनाने के लिए" थे, तो मैं क्षमा चाहता हूं। :) दिलचस्प सवाल, वैसे भी। – MusiGenesis

+0

mwah ha ha, मैं हूं लेकिन बीमार आपका संपादन स्वीकार करता हूं! –

उत्तर

4

IME सिर्फ एक खिड़की है। यह स्क्रीन के निचले हिस्से के सापेक्ष स्थित है, इसलिए आप वास्तव में इसे नियंत्रित नहीं कर सकते हैं। लेकिन आप जो कुछ भी चाहते हैं उसे आकर्षित कर सकते हैं, या उन जगहों के लिए नहीं जिन्हें आप पारदर्शी बनाना चाहते हैं। आप इस बात को नियंत्रित कर सकते हैं कि आपके आईएमई से कितने एप्लिकेशन दूर हो गए हैं: http://developer.android.com/reference/android/inputmethodservice/InputMethodService.html#onComputeInsets(android.inputmethodservice.InputMethodService.Insets)

एंड्रॉइड विंडोज़ को एक समय में तय नहीं करता है कि घटनाओं को उनके द्वारा संभाला जाएगा या उनके पीछे खिड़की पर भेज दिया जाएगा; घटनाओं को आपकी पूरी खिड़की से खपत से रखने का एकमात्र नियंत्रण इंसेट्स टच करने योग्य इंसेट्स स्थिरांक है जो विंडो प्रबंधक को बताता है कि दिए गए इन्सेट्स के बाहर की घटनाओं को इसके पीछे क्या है।

+0

हाय, धन्यवाद हैकबॉड, जो मैं डरता था। कम से कम मेरे दृष्टिकोण से, यह बहुत अच्छा होगा अगर मैं एक कीबोर्ड विंडो बना सकता हूं - या उस मामले के लिए किसी भी प्रकार के उद्देश्य के लिए फ़्लोटिंग विंडो (जो कि स्क्रीन के किसी भी तरफ दिखाई दे सकता है, और सिकुड़ सकता है अंतर्निहित गतिविधि के लिए उपलब्ध क्षेत्र उस स्थान पर उपलब्ध है जहां वे ओवरराइट नहीं करते हैं। –

+0

यह एक लंबा शॉट है, लेकिन एक नकली आईएमई के रूप में पारदर्शी पूर्णस्क्रीन गतिविधि का उपयोग करना संभव होगा? यह तुरंत नीचे गतिविधि में टाइप किए गए किसी भी अक्षर भेजता है? या आप जो चाहते हैं उसे हैक करने के किसी अन्य तरीके के बारे में सोच सकते हैं? –

+0

ठीक है, मैं फुलस्क्रीन आईएमई के बारे में आपके लिंक में थोड़ा सा देखता हूं। मुझे लगता है कि यह मुझे तकनीकी रूप से ऐसा करने देगा जो मैं करना चाहता हूं, अंतर्निहित गतिविधि के साथ अंतर्निहित ऑन-द-फ्लाई इंटरैक्शन के बिना। वह आखिरी हिस्सा एक सौदा ब्रेकर हो सकता है, इसे देखने के बिना यह कहना मुश्किल है कि इसकी तरह क्या है। –

0

मुमकिन है आप एक आयत जहां कभी आप चाहते हैं बना सकते हैं और यह के टुकड़े पारदर्शी बना सकता है। सुनिश्चित नहीं है कि यूआई घटनाओं को अपने कीबोर्ड के नीचे की गतिविधि में कैसे पास किया जाए।

वैसे भी, वहाँ एक softkeyboard sample कि शायद काफी सहायक होगा।

मैं इसे देख आप दो तरीकों से यूआई बात संभाल सकते हैं। - अंतर्निहित गतिविधि को घटनाओं को पास करें जब उन्हें "जाना चाहिए" ... जैसा कि आपके सॉफ्टकीबोर्ड की अपनी प्रक्रिया हो सकती है, यह थोड़ा कांटा हो सकता है। - अपने कीबोर्ड को एक से अधिक आयताकार क्षेत्र बनाएं, जैसे यूआई घटनाएं स्वाभाविक रूप से गुजरती हैं। मुझे यकीन नहीं है कि यह भी संभव है। मैं अभी भी एंड्रॉइड विकास के लिए बिल्कुल नया हूं।

+0

मेरी समझ यह है कि गतिविधियां पूर्णस्क्रीन हैं और कीबोर्ड और कुछ अन्य चीजें गतिविधियां के अलावा कुछ और हैं। इन 'कुछ एल्स' को क्रियाकलापों के शीर्ष पर काम करने के लिए डिज़ाइन किया गया है, जिनके क्षेत्र में वे अस्पष्ट नहीं हैं वे प्रयोग योग्य हैं। –

+0

हाउवर- क्या इन्हें 'क्रियाकलापों के अलावा कुछ और' स्क्रीन के नीचे एक आयताकार होना चाहिए? क्योंकि जब आप सामान्य मुलायम कीबोर्ड प्रकट होते हैं, तो यह नोटिस करता है कि यह टेक्स्ट इनपुट बॉक्स को ऊपर की तरफ धक्का देता है ताकि वे स्क्रीन के शीर्ष भाग में दिखाई दे सकें जो कुंजीपटल द्वारा कवर नहीं है। यदि मैं नहीं चाहता कि मेरे कीबोर्ड भाग नीचे दिखाई दें, अंतर्निहित इनपुट फ़ील्ड के साथ यह बातचीत कैसे काम करती है? क्या एंड्रॉइड डेवलपर्स ने कीबोर्ड आकार और प्लेसमेंट के बारे में धारणाएं की हैं जो गैर-डिफ़ॉल्ट आकार और प्लेसमेंट अव्यवहारिक/असंभव बनाती हैं? –

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