ViewPager2

একটি সোয়াইপযোগ্য বিন্যাসে দৃশ্য বা টুকরা প্রদর্শন করুন।
সর্বশেষ আপডেট স্থিতিশীল রিলিজ মুক্তির প্রার্থী বিটা রিলিজ আলফা রিলিজ
14 মে, 2024 1.1.0 - - -

অ্যান্ড্রয়েডএক্স নির্ভরতা

ViewPager2 ব্যবহার করতে, আপনার প্রকল্পের build.gradle ফাইলে নিম্নলিখিত AndroidX নির্ভরতা যোগ করুন:

গ্রোভি

dependencies {
    implementation "androidx.viewpager2:viewpager2:1.1.0"
}

কোটলিন

dependencies {
    implementation("androidx.viewpager2:viewpager2:1.1.0")
}

প্রতিক্রিয়া

আপনার প্রতিক্রিয়া জেটপ্যাককে আরও ভাল করতে সাহায্য করে। আপনি যদি নতুন সমস্যা আবিষ্কার করেন বা এই লাইব্রেরির উন্নতির জন্য ধারনা পান তাহলে আমাদের জানান। আপনি একটি নতুন তৈরি করার আগে অনুগ্রহ করে এই লাইব্রেরিতে বিদ্যমান সমস্যাগুলি দেখুন৷ আপনি তারকা বোতামে ক্লিক করে একটি বিদ্যমান সমস্যায় আপনার ভোট যোগ করতে পারেন।

একটি নতুন সমস্যা তৈরি করুন

আরও তথ্যের জন্য ইস্যু ট্র্যাকার ডকুমেন্টেশন দেখুন।

সংস্করণ 1.1.0

সংস্করণ 1.1.0

14 মে, 2024

androidx.viewpager2:viewpager2:1.1.0 প্রকাশিত হয়েছে। সংস্করণ 1.1.0 এ এই কমিটগুলি রয়েছে।

1.0.0 থেকে গুরুত্বপূর্ণ পরিবর্তন

  • RecyclerView 1.3.1-rc01 বা উচ্চতর ব্যবহার করার সময় ক্র্যাশগুলি ঠিক করে।
  • ViewPager2 এখন সঠিকভাবে CollectionInfo এবং CollectionItemInfo কে পপুলেট করে যা RecyclerView 1.2.0-alpha02 এবং উচ্চতর ডিফল্টরূপে আর পপুলেট করে না।
  • FragmentTransactionCallback ইন্টারফেস ফ্র্যাগমেন্ট লাইফসাইকেল পরিবর্তনগুলি শোনার জন্য যুক্ত করা হয়েছে যা FragmentStateAdapter মধ্যে ঘটে৷
  • FragmentManager একটি ফ্র্যাগমেন্ট যোগ করার সময় প্রাথমিক ফ্র্যাগমেন্ট মেনু দৃশ্যমানতার সাথে FragmentStateAdapter সমস্যা স্থির করা হয়েছে।
  • উইন্ডো ইনসেটগুলির স্থির প্রেরণ: সমস্ত পৃষ্ঠাগুলি এখন একই ইনসেটগুলি পায়৷ পুরানো API সংস্করণে (< API 30) WindowInsets কীভাবে প্রেরণ করা হয় যা ইনসেটগুলিকে ভাইবোন ভিউতে উপলব্ধ হওয়া থেকে আটকাতে পারে, আপনি যদি < API 30 ডিভাইসে ইনসেটগুলি প্রয়োগ করতে চান তবে আপনাকে WindowInsetsApplier.install(viewPager2) এর মাধ্যমে এই সমাধানটি বেছে নিতে হবে .

সংস্করণ 1.1.0-rc01

1 মে, 2024

androidx.viewpager2:viewpager2:1.1.0-rc01 1.1.0-beta02 থেকে কোনো উল্লেখযোগ্য পরিবর্তন ছাড়াই মুক্তি পেয়েছে। সংস্করণ 1.1.0-rc01-এ এই কমিট রয়েছে।

সংস্করণ 1.1.0-beta02

24 মে, 2023

androidx.viewpager2:viewpager2:1.1.0-beta02 প্রকাশিত হয়েছে। 1.1.0-beta02 সংস্করণে এই কমিট রয়েছে।

এপিআই পরিবর্তন

  • FragmentTransactionCallback এ ফ্র্যাগমেন্ট স্টেট সেভিং কলব্যাক যোগ করা হয়েছে। ( I45b90 )
  • ViewPager2 এখন আর পুরনো API সংস্করণের (<30) ভাঙা WindowInsets ডিসপ্যাচ ঠিক করার চেষ্টা করে না, কারণ ফিক্স নিজেই ViewPager2 এর ভাইবোনদের জন্য ক্ষতিকর হতে পারে। সমাধানটি এখনও উপলব্ধ, তবে এটি একটি অপ্ট-ইন হয়ে গেছে যাতে বিকাশকারীরা কেসের ভিত্তিতে মামলার বিষয়ে সিদ্ধান্ত নিতে পারে। WindowInsetsApplier.install(viewPager2)) কল করে সমাধানটি সক্ষম করুন৷ ( IC9a85 )

বাগ ফিক্স

  • RecyclerView এর নতুন সংস্করণগুলির সাথে সামঞ্জস্যের সমস্যাগুলি সমাধান করুন৷ ViewPager2 এর এই সংস্করণের ব্যবহারকারীদের অন্তত RecyclerView 1.3.1-rc01-এ আপডেট করা উচিত।

সংস্করণ 1.1.0-beta01

4 আগস্ট, 2021

androidx.viewpager2:viewpager2:1.1.0-beta01 প্রকাশিত হয়েছে। সংস্করণ 1.1.0-beta01-এ এই কমিট রয়েছে।

এপিআই পরিবর্তন

  • Kotlin 1.4 ব্যবহার করতে androidx আপগ্রেড করুন ( Id6471 , b/165307851 , b/165300826 )

  • সমস্ত অ্যান্ড্রয়েডক্স লাইব্রেরির জন্য জাভা 8 টার্গেটিং এ যান ( 2923f39 )

বাগ ফিক্স

  • উইন্ডো ইনসেটগুলির স্থির প্রেরণ, সমস্ত পৃষ্ঠাগুলি এখন একই ইনসেটগুলি পায়৷ ( I47fef )

সংস্করণ 1.1.0-alpha01

এপ্রিল 1, 2020

androidx.viewpager2:viewpager2:1.1.0-alpha01 প্রকাশিত হয়েছে। সংস্করণ 1.1.0-alpha01-এ এই কমিট রয়েছে।

এই রিলিজটি RecyclerView 1.2.0-alpha02- এ পরিবর্তনের সাথে CollectionInfo এবং CollectionItemInfo তৈরি করে যা RecyclerView আর ডিফল্টরূপে প্রদান করে না। RecyclerView 1.2.0-alpha02 এ আপডেট করার সময় অ্যাক্সেসিবিলিটি রিগ্রেশন প্রতিরোধ করার জন্য ViewPager2 ও আপডেট করুন।

নতুন বৈশিষ্ট

  • FragmentTransactionCallback ইন্টারফেস ফ্র্যাগমেন্ট লাইফসাইকেল পরিবর্তনগুলি শোনার জন্য যুক্ত করা হয়েছে যা FragmentStateAdapter মধ্যে ঘটে৷ ( Ibda77 )

বাগ ফিক্স

  • FragmentManager একটি ফ্র্যাগমেন্ট যোগ করার সময় প্রাথমিক ফ্র্যাগমেন্ট মেনু দৃশ্যমানতার সাথে FragmentStateAdapter সমস্যা স্থির করা হয়েছে। ( I9d2ff , b/144442240 )

সংস্করণ 1.0.0

সংস্করণ 1.0.0

নভেম্বর 20, 2019

androidx.viewpager2:viewpager2:1.0.0 1.0.0-rc01 থেকে কোনো পরিবর্তন ছাড়াই প্রকাশিত হয়েছে। সংস্করণ 1.0.0 এ এই কমিটগুলি রয়েছে

1.0.0 এর প্রধান বৈশিষ্ট্য

  • পূর্ববর্তী ভিউপেজার বাস্তবায়ন থেকে উন্নতি:
    • RTL (ডান-থেকে-বামে) লেআউট সমর্থন
    • উল্লম্ব অভিযোজন সমর্থন
    • নির্ভরযোগ্য Fragment সমর্থন (অন্তর্নিহিত Fragment সংগ্রহে পরিবর্তনগুলি পরিচালনা সহ)
    • ডেটাসেট পরিবর্তন অ্যানিমেশন ( DiffUtil সমর্থন সহ)
  • পূর্ববর্তী ViewPager বাস্তবায়ন থেকে সহজ স্থানান্তর (এপিআই সমতা যেখানে সম্ভব)। মাইগ্রেশন গাইড এবং নমুনা অ্যাপ দেখুন।

খণ্ডের মধ্যে স্লাইড করতে ViewPager2 ব্যবহার করার নির্দেশিকা দেখুন।

সংস্করণ 1.0.0-rc01

23 অক্টোবর, 2019

androidx.viewpager2:viewpager2:1.0.0-rc01 1.0.0-beta05 থেকে কোনো পরিবর্তন ছাড়াই মুক্তি পেয়েছে। সংস্করণ 1.0.0-rc01-এ এই কমিট রয়েছে

সংস্করণ 1.0.0-beta05

9 অক্টোবর, 2019

androidx.viewpager2:viewpager2:1.0.0-beta05 প্রকাশিত হয়েছে। সংস্করণ 1.0.0-beta05-এ এই কমিট রয়েছে

বাগ ফিক্স

  • requestFocus জন্য ঠিক করুন একটি অফ-স্ক্রিন পৃষ্ঠায় ফোকাস করুন যার ফলে একটি পৃষ্ঠা পরিবর্তন হয়। আচরণটি এখন মূল ভিউপেজারের সাথে সামঞ্জস্যপূর্ণ। ( b/140656866 )
  • একটি পৃষ্ঠা পরিবর্তনের পরে একটি অফ-স্ক্রীন পৃষ্ঠায় focus অবশিষ্ট থাকার জন্য ঠিক করুন। পৃষ্ঠা পরিবর্তন করার সময় ফোকাস এখন সাফ করা হয়। ( b/140656866 )
  • পৃষ্ঠা পরিবর্তন করার সময় Fragment পজ/রিজুমে লেনদেনের অর্ডার করার জন্য ঠিক করুন (আমরা এখন নতুনটি পুনরায় শুরু করার আগে পুরানো প্রাথমিক আইটেমকে সর্বদা বিরতি দিই)। ( b/139489059 )
  • canScrollHorizontally(int) এবং canScrollVertically(int) এর জন্য ঠিক করুন - ViewPager2 প্রদত্ত দিক দিয়ে স্ক্রোল করতে পারে কিনা সেগুলি এখন ফেরত দেয়। ( b/141848404 )
  • SwipeRefreshLayout- এ একটি সমস্যা ViewPager2 এর সাথে আরও ভালোভাবে কাজ করার জন্য ঠিক করা হয়েছে।

সংস্করণ 1.0.0-beta04

5 সেপ্টেম্বর, 2019

androidx.viewpager2:viewpager2:1.0.0-beta04 প্রকাশিত হয়েছে। এই সংস্করণে অন্তর্ভুক্ত কমিটগুলি এখানে পাওয়া যাবে।

বাগ ফিক্স

  • Fragment ব্যাক স্ট্যাকের সাথে FragmentStateAdapter এজ-কেস সমস্যার সমাধান করুন। ( b/139095195 )
  • টাইপিং/ফোকাসে একটি স্ক্রোল/পৃষ্ঠা লাফিয়ে কিছু অ্যাট্রিবিউট কনফিগারেশন সহ EditText এর জন্য ঠিক করুন। ( b/138044582 , b/139432498 )
  • ItemDecoration দৃষ্টান্তগুলির সাথে একটি সমস্যার সমাধান করুন এবং ওভারস্ক্রোল নির্দেশক অবস্থানের জন্য একটি সমাধান করুন৷ ( b/139012032 )
  • ViewPager2 : RecyclerView , NestedScrollView এবং নেভিগেশন- এর সাথে আরও ভালভাবে কাজ করার জন্য অন্যান্য উপাদানগুলিতে বেশ কয়েকটি সমস্যা সমাধান করা হয়েছে।

সংস্করণ 1.0.0-beta03

7 আগস্ট, 2019

androidx.viewpager2:viewpager2:1.0.0-beta03 প্রকাশিত হয়েছে। এই সংস্করণে অন্তর্ভুক্ত কমিটগুলি এখানে পাওয়া যাবে।

বাগ ফিক্স

  • ক্ষণস্থায়ী Fragment অবস্থার সাথে FragmentStateAdapter সমস্যার সমাধান করুন। b/134246546
  • একটি মসৃণ-স্ক্রোল করার সময় একটি ডেটা-সেট পরিবর্তিত হলে currentItem এবং scrollState সমস্যার জন্য সমাধান করুন (এজ কেস অ্যাড্রেস করা হয়েছে)। b/137642608
  • PageTransformer ( MarginPageTransformer সহ) ডেটা-সেট পরিবর্তন অ্যানিমেশনের সাথে বিরোধপূর্ণ অ্যানিমেশনের জন্য ঠিক করুন। b/134658996
  • বড় ডেটাসেটে মসৃণ-স্ক্রোল অ্যানিমেশনের জন্য ঠিক করুন ( float ইন্টিজার মান সীমা)। b/134858960

সংস্করণ 1.0.0-beta02

জুলাই 19, 2019

androidx.viewpager2:viewpager2:1.0.0-beta02 প্রকাশিত হয়েছে। এই সংস্করণে অন্তর্ভুক্ত কমিটগুলি এখানে পাওয়া যাবে।

বাগ ফিক্স

  • 1.0.0-beta01 এ প্রবর্তিত অনিচ্ছাকৃত জ্যাকোকো নির্ভরতা সরানো হয়েছে। ( b/137782951 )

সংস্করণ 1.0.0-beta01

জুলাই 17, 2019

androidx.viewpager2:viewpager2:1.0.0-beta01 প্রকাশিত হয়েছে। এই সংস্করণে অন্তর্ভুক্ত কমিটগুলি এখানে পাওয়া যাবে।

বাগ ফিক্স

  • স্ক্রোল করার সময় এবং ডেটা-সেট আপডেট করার সময় ViewPager2.updateCurrentItem ক্র্যাশের জন্য সমাধান করুন
  • ViewPager2.isLayoutRtl সম্পর্কিত NullPointerException ক্র্যাশের জন্য সমাধান করুন
  • TOUCH_SLOP_PAGING এখন একটি ডিফল্ট টাচ স্লপ৷
  • OnPageChangeCallback ইভেন্টগুলি খালি অ্যাডাপ্টারের জন্য স্থির করা হয়েছে ( ViewPager1 এর সাথে সমতার জন্য -1 এর পরিবর্তে পৃষ্ঠা 0 )

জ্ঞাত সমস্যা

সংস্করণ 1.0.0-alpha06

জুলাই 2, 2019

androidx.viewpager2:viewpager2:1.0.0-alpha06 প্রকাশিত হয়েছে। এই সংস্করণে অন্তর্ভুক্ত কমিটগুলি এখানে পাওয়া যাবে।

API হিমায়িত করার এবং বিটাতে যাওয়ার আগে এটি আমাদের শেষ পরিকল্পিত আলফা - অনুগ্রহ করে আমাদের API প্রতিক্রিয়া প্রদান করুন।

নতুন বৈশিষ্ট

  • উন্নত অ্যাক্সেসযোগ্যতার ভিত্তি: ACTION_PAGE_RIGHT , ACTION_PAGE_DOWN , ইত্যাদি৷

এপিআই পরিবর্তন

  • FragmentStateAdapter : নন-প্রাথমিক-আইটেম Fragment STARTED এ সীমাবদ্ধ করা হয়েছে এবং তাদের menuVisibility মিথ্যাতে সেট করা হয়েছে৷
  • PageTransformer , MarginPageTransformer , CompositePageTransformer : স্থির position জন্য ডকুমেন্টেশন৷

বাগ ফিক্স

  • currentItem ডেটা-সেট পরিবর্তন / অ্যাডাপ্টার পরিবর্তনের পরে সংশোধন করা হয়েছে।
  • MarginPageTransformer offscreenPageLimit সমস্যা সমাধান করা হয়েছে।
  • FakeDrag আচরণে থাকাকালীন অ্যাক্সেসিবিলিটি অ্যাকশন ঠিক করা হয়েছে।

সংস্করণ 1.0.0-alpha05

জুন 5, 2019

androidx.viewpager2:viewpager2:1.0.0-alpha05 প্রকাশিত হয়েছে। এই সংস্করণে অন্তর্ভুক্ত কমিটগুলি এখানে পাওয়া যাবে।

নতুন বৈশিষ্ট

  • RecyclerView এর সাথে সামঞ্জস্যপূর্ণ আচরণের সাথে ItemDecorator প্রবর্তিত হয়েছে।
  • MarginPageTransformer পৃষ্ঠাগুলির মধ্যে স্থান তৈরি করার ক্ষমতা প্রদানের জন্য চালু করা হয়েছে (পৃষ্ঠা ইনসেটের বাইরে)।
  • CompositePageTransformer একাধিক PageTransformer s একত্রিত করার ক্ষমতা প্রদানের জন্য চালু করা হয়েছে।

এপিআই পরিবর্তন

  • FragmentStateAdapter#getItem পদ্ধতির নাম পরিবর্তন করে FragmentStateAdapter#createFragment হয়েছে - পূর্ববর্তী পদ্ধতির নাম অতীতে বাগগুলির উৎস হিসেবে প্রমাণিত হয়েছে।
  • OFFSCREEN_PAGE_LIMIT_DEFAULT মান 0 থেকে -1 এ পরিবর্তিত হয়েছে। OFFSCREEN_PAGE_LIMIT_DEFAULT ধ্রুবক ব্যবহৃত হলে ক্লায়েন্ট কোড পরিবর্তনের প্রয়োজন নেই।

বাগ ফিক্স

  • getCurrentItem() আচরণ সংশোধন করা হয় যখন SCROLL_STATE_SETTLING বিপরীত দিকে একটি টেনে বাধাপ্রাপ্ত হয়।
  • FragmentStateAdapter ক্লাস লোডার সমস্যা "ক্রিয়াকলাপগুলি রাখবেন না" প্রসঙ্গে সম্বোধন করা হয়েছে।
  • setOffscreenPageLimit ডকুমেন্টেশন উন্নত হয়েছে।

সংস্করণ 1.0.0-alpha04

7 মে, 2019

androidx.viewpager2:viewpager2:1.0.0-alpha04 প্রকাশিত হয়েছে। এই সংস্করণে অন্তর্ভুক্ত প্রতিশ্রুতি এখানে পাওয়া যাবে।

নতুন বৈশিষ্ট

  • offscreenPageLimit : ভিউ হায়ারার্কিতে রাখা পৃষ্ঠা View s / Fragment সংখ্যার একটি শক্ত নিয়ন্ত্রণের অনুমতি দেয়

এপিআই পরিবর্তন

  • orientation এবং isUserScrollable বৈশিষ্ট্যগুলি আর SavedState এর অংশ নয়
  • FragmentStateAdaptersaveState এবং restoreState পদ্ধতি চূড়ান্ত করা হয়েছে
  • ViewPager2.Orientation এবং ViewPager2.ScrollState টীকাগুলি অ-সর্বজনীন করা হয়েছে

বাগ ফিক্স

  • SavedState : যখন Activity ধ্বংস/পুনঃনির্মিত হয় তখন পুনরুদ্ধারের সাথে একটি সমস্যা সমাধান করা হয়েছে
  • SavedState : অ্যাডাপ্টার সেট না হওয়া পর্যন্ত পুনরুদ্ধার বিলম্বিত
  • OnPageChangeCallback : ক্ষুদ্র প্রান্তের ক্ষেত্রে সংশোধন করা হয়েছে

সংস্করণ 1.0.0-alpha03

3রা এপ্রিল, 2019

androidx.viewpager2:viewpager2:1.0.0-alpha03 প্রকাশিত হয়েছে। এই সংস্করণে অন্তর্ভুক্ত কমিটগুলি এখানে পাওয়া যাবে।

নতুন বৈশিষ্ট

  • প্রোগ্রাম্যাটিকভাবে ViewPager2 স্ক্রোল করার ক্ষমতা: fakeDragBy(offsetPx)

এপিআই পরিবর্তন

  • FragmentStateAdapter এর জন্য এখন একটি Lifecycle অবজেক্ট প্রয়োজন। হোস্ট FragmentActivity বা হোস্ট Fragment থেকে এটি পাওয়ার জন্য দুটি ইউটিলিটি কনস্ট্রাক্টর যোগ করা হয়েছে।

বাগ ফিক্স

  • অসংখ্য Fragment সাপোর্ট ফিক্স:
    • ন্যূনতম অবস্থায় বা স্ক্রিন ঘূর্ণনের সময় ডেটাসেট আপডেটগুলি পরিচালনা করা;
    • ঘূর্ণন পরে অপ্রাসঙ্গিক টুকরা অপসারণ;
    • সরানো আইটেম সংরক্ষিত অবস্থা অপসারণ.
  • PageChangeCallback : মার্জিন সহ পৃষ্ঠাগুলির জন্য নির্দিষ্ট পৃষ্ঠা অফসেট গণনা।

সংস্করণ 1.0.0-alpha02

13 মার্চ, 2019

androidx.viewpager2:viewpager2:1.0.0-alpha02 প্রকাশিত হয়েছে। এই সংস্করণে অন্তর্ভুক্ত প্রতিশ্রুতির সম্পূর্ণ তালিকা এখানে পাওয়া যাবে।

নতুন বৈশিষ্ট

  • ব্যবহারকারীর ইনপুট নিষ্ক্রিয় করার ক্ষমতা ( setUserInputEnabled , isUserInputEnabled )

এপিআই পরিবর্তন

  • ViewPager2 ক্লাস ফাইনাল

বাগ ফিক্স

  • FragmentStateAdapter স্থায়িত্ব সংশোধন

সংস্করণ 1.0.0-alpha01

7 ফেব্রুয়ারি, 2019

androidx.viewpager2:viewpager2 1.0.0-alpha01 প্রকাশিত হয়েছে। এটি ViewPager2 এর প্রথম প্রকাশ।

নতুন বৈশিষ্ট

  • এর পূর্বসূরি android.support.v4.view.ViewPager (VP1) এর সাথে তুলনা করে:
    • ডান-থেকে-বামে (RTL) লেআউট সমর্থন
    • উল্লম্ব অভিযোজন সমর্থন
    • notifyDataSetChanged সম্পূর্ণরূপে কার্যকরী (VP1 বাগ সম্বোধন করা হয়েছে)

এপিআই পরিবর্তন

  • FragmentStateAdapter FragmentStatePagerAdapter প্রতিস্থাপন করে
  • RecyclerView.Adapter PagerAdapter প্রতিস্থাপন করে
  • registerOnPageChangeCallback addPageChangeListener প্রতিস্থাপন করে

জ্ঞাত সমস্যা

  • ক্লিপটোপ্যাডিং
  • কোন fakeDrag নেই
  • JavaDoc
  • স্থিতিবিন্যাস সমান্তরাল নেস্টেড স্ক্রলিং
  • অফস্ক্রিন সীমা নিয়ন্ত্রণ নেই
  • আরও ভাল TabLayout ইন্টিগ্রেশন প্রয়োজন
  • পৃষ্ঠা প্রস্থ সেটার নেই (জোর করা 100%/100%)
  • পৃষ্ঠা ট্রান্সফরমার: কোন হার্ডওয়্যার/সফ্টওয়্যার স্তর পছন্দ নেই; কোন বিপরীত অঙ্কন আদেশ
  • বর্তমানের আগে একটি পৃষ্ঠা সন্নিবেশ করার সময় বর্তমান আইটেম দৃশ্যমান রাখুন
  • কীবোর্ড নেভিগেশন কাজ প্রয়োজন
  • FragmentStateAdapter স্থায়িত্ব / কর্মক্ষমতা উন্নতি আসছে