2013-02-07 35 views
14

में कीबोर्ड पर स्क्रॉलिंग ड्रॉप-डाउन-मेनू मेरे पास सॉफ्ट-कीबोर्ड की सीमा तक, सुझाव सूची को छोड़कर एक ऑटोकॉम्प्लेटेटक्स्टव्यू है।autocompletetextview

फिर, सुझाव सूची में स्क्रॉल करते समय: - (एक जिंजरब्रेड फोन में) ड्रॉप-डाउन-मेनू स्वचालित रूप से कीबोर्ड को कवर करने वाली ऊंचाई बढ़ाता है, जो कि अच्छा है क्योंकि यह अधिक आइटम दिखाता है। - (आईसीएस एमुलेटर में) ड्रॉप-डाउन-मेन्यू कीबोर्ड पर ऊंचाई बढ़ाता नहीं है।

क्या यह कुछ सिस्टम संपत्ति से संबंधित है? क्या आईसीएस में पहले व्यवहार को भी मजबूर करने का कोई तरीका है?

+0

को getActivity().getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE); जोड़ सकता हूँ? मुझे वर्तमान में एक ही समस्या का सामना करना पड़ रहा है। धन्यवाद। – Andres

+0

अजीब व्यवहार, एक ही समस्या का सामना करना पड़ा। – Penzzz

उत्तर

26

बस अपनी लेआउट फ़ाइल में AutoCompleteTextView टैग में ड्रॉपडाउनहेइट = "100dp" जोड़ें, यह काम करेगा।

+2

अगर मैं कर सकता तो मैं आपको + मिलियन दूंगा ... तुमने मेरा दिन बनाया! – keybee

+2

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

+0

खोज के दिन ... पीड़ा के दिन .. इस तरह के एक साधारण फिक्स के साथ। धन्यवाद – Brandon

2

मुझे कीबोर्ड के पीछे "ड्रॉप डाउन" डिस्प्ले से बचने के लिए मेरी छोटी सी चाल को समझाएं। यह चाल DropDownAnchor संपत्ति के साथ है। समाधान स्क्रीन के शीर्ष पर स्थित एक दृश्य के साथ एंकर सेट किया गया है, इसलिए मेनू उस स्थिति से निकल जाएगा, और इसलिए, कीबोर्ड द्वारा कवर नहीं किया जाएगा। उदाहरण के लिए:

android:dropDownAnchor="@+id/topview"

मुझे पता है कि एक बदसूरत समाधान है, लेकिन इस पर नियंत्रण भी सीमित है।

0

आपको दो चीजें करने की आवश्यकता है। सबसे पहले, मैनिफेस्ट में उस गतिविधि के नरम इनपुट मोड को समायोजित करें।

android:windowSoftInputMode="stateHidden|adjustResize" 

यह सुनिश्चित करता है कि कीबोर्ड दिखाए जाने पर विचार फिर से निर्धारित किए जाते हैं। फिर, जब लेआउट बदलता है तो ड्रॉपडाउन ऊंचाई गणना करने के लिए शीर्ष स्तर दृश्य पर अपने ऑनक्रेट में एक वैश्विक लेआउट श्रोता सेट करें। कीबोर्ड के नीचे सबकुछ की ऊंचाई होने के लिए ड्रॉपडाउन ऊंचाई समायोजित करें, यदि आप चाहें तो कुछ पैडिंग घटाएं।

v.getViewTreeObserver().addOnGlobalLayoutListener(new OnGlobalLayoutListener() { 

     @Override 
     public void onGlobalLayout() { 
       autoCompleteView.setDropDownHeight(view2.getHeight()); 
} 

जहां व्यू 2 दृश्य/लेआउट है जिसमें स्वत: पूर्णता के नीचे सबकुछ शामिल है।

1

आप एक दृश्य में ड्रॉपडाउन एंकर करने के लिए android:dropDownAnchor="@id/ का भी उपयोग कर सकते हैं।

0

बस आप इस विशेष मुद्दे का उत्तर नहीं मिलता था अपने टुकड़ा या गतिविधि