जवाबों:
क्या आप पूछ रहे हैं कि नरम कीबोर्ड के खुलने पर क्या दिखाई देता है? आप windowSoftInputMode के साथ खेलना चाह सकते हैं । अधिक चर्चा के लिए डेवलपर डॉक्स देखें ।
android:fitsSystemWindows="true"
इसे हल करने के लिए अपने मूल दृश्य में जोड़ें ।
मेरे पास वही मुद्दे थे। निम्नलिखित कोड का प्रयास करें:
android:windowSoftInputMode="adjustPan"
इनपुट रखने वाली गतिविधि के गतिविधि टैग में इसे अपने घोषणापत्र में जोड़ें। उदाहरण:
<activity
android:name=".Activities.InputsActivity"
...
android:windowSoftInputMode="adjustPan"
/>
adjustResize
कि करेगा, लेकिन यह मेरे इनपुट फ़ील्ड को भी कवर करता है
मेरे पास एक ही मुद्दा था जहां सॉफ्टकबोर्ड एडिटटेक्स्ट दृश्यों के शीर्ष पर था जो स्क्रीन के नीचे रखे गए थे। मैं अपने AndroidManifest.xml फ़ाइल की प्रासंगिक गतिविधि में एक पंक्ति जोड़कर एक समाधान खोजने में सक्षम था।
android:windowSoftInputMode="adjustResize|stateHidden"
यह पूरी गतिविधि टैग की तरह दिखता है:
<activity
android:name="com.my.MainActivity"
android:screenOrientation="portrait"
android:label="@string/title_activity_main"
android:windowSoftInputMode="adjustResize|stateHidden" >
</activity>
यहाँ सबसे महत्वपूर्ण मूल्य समायोजन है। यह सॉफ्टबोर्ड के लिए जगह देने के लिए पूरे यूआई को स्थानांतरित कर देगा।
adjustResize|stateHidden
और इससे कोई फर्क नहीं पड़ा adjustPan
।
जो भी आप स्क्रॉल करना चाहते हैं, उसे लपेटने के लिए स्क्रॉल दृश्य जोड़ने का प्रयास क्यों न करें। यहां बताया गया है कि मैंने इसे कैसे किया है, जहां मैं वास्तव में शीर्ष पर एक हेडर छोड़ता हूं जो स्क्रॉल नहीं करता है, जबकि डायलॉग विजेट (विशेष रूप से एडिटेक्स) जब आप सॉफ्ट कीपैड खोलते हैं तो स्क्रॉल करते हैं।
<LinearLayout android:id="@+id/HeaderLayout" >
<!-- Here add a header or whatever will not be scrolled. -->
</LinearLayout>
<ScrollView android:id="@+id/MainForm" >
<!-- Here add your edittexts or whatever will scroll. -->
</ScrollView>
मैं आम तौर पर स्क्रॉलव्यू के अंदर एक LinearLayout होगा, लेकिन यह आपके ऊपर है। इसके अलावा, स्क्रॉलबार शैली को बाहर की ओर सेट करने में मदद करता है, कम से कम मेरे उपकरणों पर।
आपको बस इतना करना है
android:isScrollContainer="true"
स्रोत: http://www.davidwparker.com/2011/08/25/android-fixing-window-resize-and-roll_ro/
एक पुराने धागे को पुनर्जीवित करने के लिए क्षमा करें, लेकिन android:imeOptions="flagNoFullscreen"
आपके EditText तत्व में किसी ने भी सेटिंग का उल्लेख नहीं किया है
android:windowSoftInputMode="adjustPan"
android:isScrollContainer="true"
Android EditText के लिए काम करता है, जबकि यह वेबव्यू या xwalkview के लिए काम नहीं करता है। जब सॉफ्ट कीबोर्ड वेबव्यू या आपके द्वारा उपयोग किए गए xwalkview में इनपुट छिपाते हैंandroid:windowSoftInputMode="adjustResize"
मेरा मानना है कि आप इसे ट्रैकबॉल का उपयोग करके स्क्रॉल कर सकते हैं, जिसे अंततः चयन विधियों के माध्यम से प्रोग्रामेटिक रूप से प्राप्त किया जा सकता है, लेकिन यह सिर्फ एक विचार है। मुझे पता है कि ट्रैकबॉल विधि आमतौर पर काम करती है, लेकिन ऐसा करने के सटीक तरीके के लिए और इसे कोड से काम करने के लिए, मुझे यकीन नहीं है।
उम्मीद है की वो मदद करदे।
इस एकल पंक्ति को अपनी सापेक्ष गतिविधि में जोड़ें जहां कुंजी बोर्ड कवर को संपादित करें। गतिविधि के आधार पर () गतिविधि का तरीका।
getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_VISIBLE | WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE);
यदि EditText फ़ील्ड KeyBoard द्वारा कवर किया गया है, तो निम्न कोड का उपयोग करें:
EditText= findViewById(R.id.edittext)
EditText?.getParent()?.requestChildFocus(EditText,EditText)
अगर आप चाहते हैं कि कर्सर को फोकस एडिटटेक्स्ट में इस्तेमाल किया जाए तो इसके EditText.requestFocus()
बाद EditText?.getParent()?.requestChildFocus(EditText,EditText)
फोकस और कर्सर को फोकस एडिट टेक्स्ट में लाने में मदद मिलती है।
अपना AndroidManifest.xml संपादित करें
android:windowSoftInputMode="adjustResize"
लेआउट फ़ाइल के अपने मूल दृश्य में इसे जोड़ें।
android:fitsSystemWindows="true"
बस इतना ही।