এখানে অনেক ভাল উত্তর আছে, তবে আমি কেবল একটি জিনিস যুক্ত করতে চাই। এটি কখনও কখনও ঘটে যায় যে আপনি উপরে বা নীচে সম্পূর্ণ স্ক্রোলের পরিবর্তে আপনার স্ক্রোলভিউটিকে বিন্যাসের একটি নির্দিষ্ট দৃশ্যে স্ক্রোল করতে চান।
একটি সাধারণ উদাহরণ: একটি রেজিস্ট্রেশন ফর্মে, যদি ফর্মের সম্পাদনা পাঠ্যটি পূরণ না করা হয় যখন ব্যবহারকারী "সাইনআপ" বোতামটি ট্যাপ করেন, ব্যবহারকারীকে অবশ্যই সেই ফিল্ডটি পূরণ করতে হবে তা বলতে আপনি সেই নির্দিষ্ট সম্পাদনা পাঠ্যে স্ক্রোল করতে চান।
সেক্ষেত্রে আপনি এর মতো কিছু করতে পারেন:
scrollView.post(new Runnable() {
public void run() {
scrollView.scrollTo(0, editText.getBottom());
}
});
বা, যদি আপনি তাত্ক্ষণিক স্ক্রোলের পরিবর্তে মসৃণ স্ক্রোল চান:
scrollView.post(new Runnable() {
public void run() {
scrollView.smoothScrollTo(0, editText.getBottom());
}
});
স্পষ্টতই আপনি সম্পাদনা পাঠ্যের পরিবর্তে যে কোনও ধরণের ভিউ ব্যবহার করতে পারেন। নোট করুন যে গেটবটম () তার প্যারেন্ট লেআউটের উপর ভিত্তি করে দৃশ্যের স্থানাঙ্কগুলি প্রদান করে, সুতরাং স্ক্রোলভিউয়ের অভ্যন্তরে ব্যবহৃত সমস্ত দৃশ্যের কেবল পিতামাতাকে থাকতে হবে (উদাহরণস্বরূপ একটি লিনিয়ার লেআউট)।
স্ক্রোলভিউয়ের সন্তানের ভিতরে যদি আপনার একাধিক বাবা-মা থাকে তবে আমি খুঁজে পেলাম একমাত্র সমাধান প্যারেন্ট ভিউতে অনুরোধচিল্ডফোকাসকে কল করা:
editText.getParent().requestChildFocus(editText, editText);
তবে এক্ষেত্রে আপনার কোনও মসৃণ স্ক্রোল থাকতে পারে না।
আমি আশা করি এই উত্তরটি একই সমস্যার সাথে কাউকে সহায়তা করতে পারে।
mScrollView.post(new Runnable() { public void run() { mScrollView.fullScroll(View.FOCUS_DOWN); } });