13

मेरे आवेदन में मेरे पास ListView एक ऐसे फ़ूटर के साथ है जिसमें संपादन टेक्स्ट के साथ कस्टम व्यू शामिल है। शीर्ष पर एक एक्शन बार बैठता है। वर्तमान में गतिविधि SOFT_INPUT_ADJUST_RESIZE (adjustResize) को नरम इनपुट मोड के रूप में उपयोग करती है और स्क्रॉल करते समय कीबोर्ड बंद नहीं करती है।क्या सॉफ्टपैन को सॉफ्ट इनपुट मोड के रूप में उपयोग करते समय हमेशा एक्शन बार दिखाना संभव है?

सूची मैं जब स्क्रॉल कीबोर्ड दूर करने के लिए और एक चिकनी स्क्रॉल व्यवहार मैं तो बदलने के लिए है कि SOFT_INPUT_ADJUST_PAN (adjustPan) प्रयोग किया जाता है चाहता हूँ प्राप्त करना चाहता था की अधिक दिखाने के लिए। हालांकि, अगर मैं adjustPan में बदल जाता हूं, तो संपूर्ण बार, जिसमें एक्शन बार भी शामिल है, को धक्का दिया जाता है। मैं सूची दृश्य को धक्का देना चाहता हूं लेकिन एक्शन बार हर समय शीर्ष पर रहता है। क्या ऐसा करना संभव है? यदि नहीं, तो adjustResize का उपयोग करना संभव है और एक चिकनी आकार बदलने एनीमेशन प्राप्त करना संभव है?

अब तक मैं कोशिश की है:

  • का निवेदन Window.FEATURE_ACTION_BAR_OVERLAY, लेकिन यह मदद नहीं की, हालांकि प्रलेखन होनहार लग रहा था।
  • मुलायम कीबोर्ड दिखाई देने पर या नहीं, इसके आधार पर एक्शन बार कंटेनर के चारों ओर घूमना, जो बड़े पैमाने पर अस्थिर हैक की तरह दिख रहा था, इसलिए मैंने इसे हटा दिया।
  • अब तक मैंने adjustResize से इनकार किया है, स्क्रॉल करते समय होने वाले ड्राइंग व्यवहार के कारण, कुंजीपटल को कम करना और एक ही समय में सूचीदृश्य का आकार बदलना। क्या एक चिकनी एनिमेटेड आकार बदलने का कोई तरीका है?
+0

क्या आपने इसे किया है? मेरे पास दुर्भाग्यवश नहीं है – Jacky

+0

समान समस्या है। – fejd

+0

@fejd मुझे एक ही समस्या का सामना करना पड़ रहा है। क्या आप कृपया इस मुद्दे को हल करने के लिए किए गए दृष्टिकोण को अपडेट कर सकते हैं? – Ammar

उत्तर

0

adjustPan

कोड के नीचे निकालें keybord जबकि scrall

के लिए

android:windowSoftInputMode="adjustPan" 

<activity 
     android:name="activity" 
     android:windowSoftInputMode="adjustPan" > 
</activity> 

तरह Manifest.xml फ़ाइल में अपनी गतिविधि घोषणा लाइन में डाल के लिए

आप परिणाम उस समय कोड

InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE); 
imm.hideSoftInputFromWindow(myEditText.getWindowToken(), 0); 

नीचे अमल इस तरह से आप स्क्रीन से keybord निकाल सकते हैं द्वारा मिलता है जबकि।

+0

धन्यवाद यह मेरे लिए काम करता है। –

+1

मुझे लगता है कि यह उत्तर यहां प्रश्न में समस्या का समाधान नहीं करता है – Tony

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

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