অ্যান্ড্রয়েড: স্ক্রোলভিউ বনাম নেস্টডস্ক্রোলভিউ


160

উত্তর:


205

NestedScrollViewনামটির পরামর্শ অনুসারে যখন অন্য স্ক্রোলিং ভিউয়ের ভিতরে কোনও স্ক্রোলিং ভিউ প্রয়োজন হয় তখন ব্যবহৃত হয়। সাধারণত এটি সম্পাদন করা কঠিন যেহেতু সিস্টেমটি কোন ভিউ স্ক্রোল করবে তা সিদ্ধান্ত নিতে অক্ষম হবে।

এখানেই NestedScrollViewআসে।


এখানে একটি নমুনা অ্যাপ্লিকেশন একটি পিতামাতার স্ক্রোলভিউয়ের মধ্যে নেস্টডস্ক্রোলভিউ প্রদর্শিত হচ্ছে: github.com/AdamSHurwitz/ নেস্টডক্রোলিং
অ্যাডাম

36

নেস্টেড স্ক্রোলিংয়ের পাশাপাশি NestedScrollViewএকটি বড় কার্যকারিতা যুক্ত করেছে, যা নেস্টেড প্রাসঙ্গিকগুলির বাইরেও এটি আকর্ষণীয় করে তুলতে পারে: এটির পক্ষে সমর্থন তৈরি হয়েছে OnScrollChangeListenerOnScrollChangeListenerমূল ScrollView নীচের এপিআই 23 তে একটি যুক্ত করা প্রয়োজনীয় সাবক্লাসিং ScrollViewবা এর সাথে ঘৃণিত ViewTreeObserverহওয়াScrollView যা প্রায়শই সাবক্লাসিংয়ের চেয়েও বেশি কাজ করে। সঙ্গে NestedScrollViewএটি ব্যবহার করা যেতে পারে বিল্ড-ইন সেটার


26

প্রদত্ত উত্তরের তালিকাভুক্ত সুবিধাগুলি ব্যতীত স্ক্রোলভিউর ওপরে নেস্টডস্ক্রোলভিউয়ের আরও একটি সুবিধা হ'ল সমন্বয়কারী লেআউটের সাথে এর সামঞ্জস্য। স্ক্রোলভিউ সমন্বয়কারী লেআউটকে সহযোগিতা করে না। সরঞ্জামদণ্ডের জন্য "স্ক্রোল অফ স্ক্রিন" আচরণ পেতে আপনাকে নেস্টডস্ক্রোলভিউ ব্যবহার করতে হবে।

সমন্বয়কারী লেআউটের সন্তানের হিসাবে সরঞ্জামদণ্ডটি স্ক্রোলভিউয়ের সাথে সঙ্কুচিত হবে না


21

NestedScrollView

নেস্টেডস্ক্রোলভিউ হ'ল স্ক্রোলভিউয়ের মতো, তবে এটি অ্যান্ড্রয়েডের নতুন এবং পুরানো উভয় সংস্করণে নেস্টেড স্ক্রোলিং পিতা বা মাতা এবং শিশু উভয়েরই অভিনয়কে সমর্থন করে। নেস্টেড স্ক্রোলিংটি ডিফল্টরূপে সক্ষম হয়।

https://developer.android.com/reference/android/support/v4/widget/NestedScrollView.html

ScrollView

ভিজ্যু হায়ারার্কির জন্য লেআউট ধারক যা ব্যবহারকারীর দ্বারা স্ক্রোল করা যায়, এটি দৈহিক প্রদর্শনের চেয়ে বড় হতে দেয়। একটি স্ক্রোলভিউ একটি ফ্রেমলআউট, যার অর্থ এটিতে আপনার একটি বাচ্চাকে পুরো কন্টেন্ট সমেত স্ক্রোলের জন্য রাখা উচিত; এই শিশুটি নিজে অবজেক্টগুলির একটি জটিল শ্রেণিবিন্যাস সহ একটি বিন্যাস পরিচালক হতে পারে

https://developer.android.com/reference/android/widget/ScrollView.html


8

নেস্টেডস্ক্রোলভিউ হ'ল স্ক্রোলভিউয়ের মতো, তবে নেস্টেডস্ক্রোলভিউতে আমরা এর সন্তানের হিসাবে অন্যান্য স্ক্রোলিং মতামত রাখতে পারি, যেমন রিসাইক্লারভিউ।

তবে আমরা যদি নেসটেডস্ক্রোলভিউয়ের মধ্যে রিসাইক্লারভিউ রাখি তবে রিসাইক্লারভিউয়ের মসৃণ স্ক্রোলিং বিরক্ত হয়। সুতরাং মসৃণ স্ক্রোলিং ফিরিয়ে আনতে কৌশল আছে:

ViewCompat.setNestedScrollingEnabled(recyclerView, false);

পুনর্ব্যবহারযোগ্য ভিউয়ের জন্য অ্যাডাপ্টার সেট করার পরে উপরে রেখা রাখুন।


ধন্যবাদ অনেক ভাই: ডি
জাফর ইকবাল

মনে রাখবেন যে এটি করা (নেস্টেটের অভ্যন্তরে রিসাইক্লারভিউ) লেআউট পাস / ব্যবস্থাগুলির ক্ষেত্রে যথেষ্ট অদক্ষ। এটি পরীক্ষা করুন এবং আপনি দেখতে পাবেন কীভাবে আরভি "পুনর্ব্যবহারযোগ্য" দর্শন বন্ধ করে দেয়।
মার্টিন মার্কনকিনি

2

আমি মনে করি নেস্টেড স্ক্রোল ভিউ ব্যবহারের একটি সুবিধা হ'ল কোরিডিনেটর লেআউটটি কেবল নেস্টেড স্ক্রোল ইভেন্টগুলির জন্যই শ্রবণ করে। সুতরাং প্রাক্তন জন্য যদি। আপনি যখন আপনার ক্রিয়াকলাপের সামগ্রীটি স্ক্রোল করবেন তখন আপনি সরঞ্জামদণ্ডটি নীচে স্ক্রোল করতে চান, আপনি যখন আপনার বিন্যাসে নেস্টেড স্ক্রোল ভিউটি ব্যবহার করছেন তখন এটি নীচে স্ক্রোল করবে। আপনি যদি আপনার বিন্যাসে একটি সাধারণ স্ক্রোল ভিউ ব্যবহার করেন, ব্যবহারকারী যখন সামগ্রীটি স্ক্রোল করে তখন সরঞ্জামদণ্ডটি স্ক্রোল করে না।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.