পাঠ্য ক্ষেত্রটি দেখার অনুমতি দেওয়ার জন্য স্ক্রিনটি স্ক্রোল করার কোনও উপায় আছে কি?
পাঠ্য ক্ষেত্রটি দেখার অনুমতি দেওয়ার জন্য স্ক্রিনটি স্ক্রোল করার কোনও উপায় আছে কি?
উত্তর:
আপনি কি জিজ্ঞাসা করছেন নরম কীবোর্ড খোলার সময় কী দৃশ্যমান তা নিয়ন্ত্রণ করতে? আপনি উইন্ডো সফট ইনপুটমোড দিয়ে খেলতে চাইতে পারেন । আরও আলোচনার জন্য বিকাশকারী ডক্স দেখুন ।
android:fitsSystemWindows="true"
এটিকে সমাধান করতে আপনার রুট ভিউতে যুক্ত করুন।
আমারও একই সমস্যা ছিল। নিম্নলিখিত কোড ব্যবহার করে দেখুন:
android:windowSoftInputMode="adjustPan"
ইনপুটটি ধারণ করে এমন ক্রিয়াকলাপের ক্রিয়াকলাপটিতে এটি আপনার মেনিফেস্ট.এক্সএমএলে যুক্ত করুন। উদাহরণ:
<activity
android:name=".Activities.InputsActivity"
...
android:windowSoftInputMode="adjustPan"
/>
adjustResize
না, তবে এটি আমার ইনপুট ক্ষেত্রগুলিও covers
আমার একই সমস্যা ছিল যেখানে স্ক্রিনের নীচে স্থাপন করা এডিটেক্সট ভিউগুলির উপরে সফ্টকিবোর্ডটি ছিল। আমি আমার অ্যান্ড্রয়েড ম্যানিফেস্ট.এক্সএমএল ফাইলের প্রাসঙ্গিক ক্রিয়াকলাপে একটি লাইন যুক্ত করে সমাধানটি সন্ধান করতে সক্ষম হয়েছি।
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>
আমার কাছে সাধারণত স্ক্রোলভিউয়ের মধ্যে লিনিয়ারআলআউট থাকবে তবে এটি আপনার পক্ষে। এছাড়াও, স্ক্রোলবার শৈলীর বাইরে সেট করা কমপক্ষে আমার ডিভাইসে, ইনসেট সহায়তা করে।
আপনার যা করা দরকার তা হ'ল
android:isScrollContainer="true"
উত্স: http://www.davidwparker.com/2011/08/25/android-fixing-window-resize-and-scrolling/
পুরানো থ্রেডটি পুনরুদ্ধার করার জন্য দুঃখিত তবে android:imeOptions="flagNoFullscreen"
আপনার এডিটেক্সট উপাদানটিতে সেটিংয়ের কথা উল্লেখ নেই
android:windowSoftInputMode="adjustPan"
android:isScrollContainer="true"
অ্যান্ড্রয়েড এডিটেক্সট জন্য কাজ করে, যদিও এটি ওয়েবভিউ বা এক্সওয়ালভিউয়ের জন্য কাজ করে না। সফ্ট কীবোর্ড যখন ওয়েবভিউ বা এক্সওয়ালভিউতে আপনার ব্যবহার থাকে তা ইনপুটটি আড়াল করেandroid:windowSoftInputMode="adjustResize"
আমি বিশ্বাস করি আপনি ট্র্যাকবল ব্যবহার করে এটিকে স্ক্রোল করতে পারেন যা শেষ পর্যন্ত নির্বাচনের পদ্ধতিগুলির মাধ্যমে প্রোগ্রামগতভাবে অর্জন করা যেতে পারে তবে এটি কেবল একটি ধারণা। আমি জানি যে ট্র্যাকবল পদ্ধতিটি সাধারণত কাজ করে, তবে এটি করার সঠিক উপায় এবং কোড থেকে এটিকে কাজ করার জন্য, আমি নিশ্চিত নই।
আশা করি এইটি কাজ করবে.
আপনার আপেক্ষিক ক্রিয়াকলাপে এই একক লাইনটি যুক্ত করুন যেখানে কী বোর্ড কভারটি সম্পাদনা পাঠ্য করুন ins ক্রিয়াকলাপের ক্রিয়াকলাপ () পদ্ধতি ide
getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_VISIBLE | WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE);
যদি সম্পাদনা পাঠ্য ক্ষেত্রটি কীবোর্ড দ্বারা আচ্ছাদিত থাকে তবে নিম্নলিখিত কোডটি ব্যবহার করুন:
EditText= findViewById(R.id.edittext)
EditText?.getParent()?.requestChildFocus(EditText,EditText)
আপনি যদি চান কার্সার ব্যবহার তুলনায় ফোকাস করা editText হতে EditText.requestFocus()
পরে EditText?.getParent()?.requestChildFocus(EditText,EditText)
যা ফোকাস এবং কার্সার ফোকাস করা editText পেতে সাহায্য করে।
আপনার AndroidManLive.xML সম্পাদনা করুন
android:windowSoftInputMode="adjustResize"
এটি আপনার লেআউট ফাইলের মূল দৃশ্যে যুক্ত করুন।
android:fitsSystemWindows="true"
এখানেই শেষ.