2012-08-30 11 views
9

एक सापेक्ष लेआउट के अंदर स्क्रॉलव्यू का उपयोग कर रहा हूं।कीबोर्ड के ऊपर अपना स्क्रॉल लेआउट कैसे प्रदर्शित कर सकता है?

कीबोर्ड के बिना, जब मैं कीबोर्ड के बिना सभी मोबाइल में पृष्ठ के अंत तक स्क्रॉल करने में सक्षम हो सकता हूं, तो कुछ मोबाइल में मैं कुंजीपटल चालू होने पर स्क्रॉल लेआउट को पूरी तरह से देख सकता हूं। यानी) - कीबोर्ड के ऊपर स्क्रॉलव्यू का अंत।

समस्या का मैंने विश्लेषण किया है क्योंकि कुंजीपटल के प्रकार विभिन्न एंड्रॉइड उपकरणों में भिन्न होता है।

गतिविधि मैनिफेस्ट में windowSoftInputMode जोड़ने के कुछ जवाब मिल गए।

भी कहा: android:windowSoftInputMode="stateHidden|adjustResize"

लेकिन फिर भी एक ही समस्या हो रही है। यदि आपके पास समाधान है या समस्या का सामना करना पड़ा है, तो अपने विचार साझा करें। आपके समय के लिए धन्यवाद।

+0

यदि आप शायद आपको प्रश्न पूछें और स्पष्ट रूप से अपनी समस्या बताएं तो यह वास्तव में सहायक होगा। ऐसा सटीक व्यवहार क्या हो रहा है जो आप नहीं चाहते हैं? क्या आप चाहते हैं कि स्क्रॉलव्यू कीबोर्ड से ढंका न जाए और कीबोर्ड आने पर आगे बढ़ें? –

+0

आपको अपने एक्सएमएल कोड को अपने लेआउट के साथ-साथ पोस्ट करना होगा .. – MKJParekh

+0

@Danielmithmith। यह वही है जो आपको वही चाहिए जो आप कहते हैं। – arnp

उत्तर

3

मैं इस प्रश्न में एक ही समस्या की तलाश में आया। android:windowSoftInputMode="adjustResize" कभी-कभी काम करता है, अन्य बार नहीं। क्यों नहीं?

यह उत्तर एक एंड्रॉइड पूर्णस्क्रीन विषय के बारे में बात करता है। getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);

झंडे की स्थापना पूर्णस्क्रीन पर उचित स्क्रॉल रोका जा सके जब कुंजीपटल दिखाई दिया: Honeycomb (3.1) adjustResize no longer working?

मेरे लिए समस्या यहाँ इस फोन था।

+0

हाँ मैंने भी पहले हल किया था। समस्या पूर्णस्क्रीन थी। – arnp

1

onCreate में इस कोड का प्रयास करें:

getWindow().setSoftInputMode(
      WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE); 
+0

इस – arnp

+0

निकालने का प्रयास करें "एंड्रॉयड: windowSoftInputMode =" जोड़कर कोई परिवर्तन नहीं। StateHidden | adjustResize "और फिर काम नहीं कर दोस्त OnCreate –

+0

में ऊपर कोड जोड़ – arnp

0

आप AdroidManifest.xml में किसी भी गतिविधि से अधिक विन्यास रख सकते हैं, तो जैसे ...

<activity android:name=".views.ViewportActivity" 
        **android:windowSoftInputMode="adjustPan|adjustResize"** 
        android:label="@string/app_name" 
        android:configChanges="locale" 
        android:screenOrientation="portrait" 
        android:theme="@android:style/Theme.NoTitleBar"> 
      <intent-filter> 
       <action android:name="android.intent.action.MAIN" /> 
      </intent-filter> 
     </activity> 
+0

बजे पहले से ही इस – arnp

+0

इस का उपयोग करते हुए मैं क्या उपयोग करें और यह है मेरे लिए काम करता है। – IamStalker

1

ये अन्य उत्तर अपनी समस्या का समाधान किया जाना चाहिए, इसलिए जब मैं निम्नलिखित समाधान का सुझाव देने में संकोच करता हूं, तो मैं इसे वहां फेंक दूंगा यदि आप समय के लिए दबाए जाते हैं/एक परियोजना नहीं कर रहे हैं जहां यह बहुत महत्वपूर्ण है: ऑनग्लोबललाउट लिस्टनर का उपयोग करें।

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

an answer here है जो यह बताएगा कि यह कैसे किया जाए। दोबारा, मैं आपकी समस्या के बारे में पूरी तरह से स्पष्ट नहीं हूं क्योंकि हमने कोड नहीं देखा है, और यह निदान करना मुश्किल है कि अन्य उत्तरों समस्या को हल क्यों नहीं कर रहे हैं ... लेकिन यदि आप वास्तव में अटक गए हैं एक कोशिश :)

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