আপনার অ্যাপে সোয়াইপ-টু-রিফ্রেশ যোগ করুন

সোয়াইপ-টু-রিফ্রেশ ইউজার ইন্টারফেস প্যাটার্ন সম্পূর্ণরূপে SwipeRefreshLayout উইজেটের মধ্যে প্রয়োগ করা হয়, যা উল্লম্ব সোয়াইপ সনাক্ত করে, একটি স্বতন্ত্র অগ্রগতি বার প্রদর্শন করে এবং আপনার অ্যাপে কলব্যাক পদ্ধতিগুলি ট্রিগার করে। ListView বা GridView এর প্যারেন্ট হিসাবে আপনার লেআউট ফাইলে উইজেট যোগ করে এবং ব্যবহারকারী সোয়াইপ করার সময় যে রিফ্রেশ আচরণটি চালু করা হয় তা বাস্তবায়ন করে এই আচরণটি সক্ষম করুন।

এই পৃষ্ঠাটি দেখায় কিভাবে একটি বিদ্যমান লেআউটে উইজেট যোগ করতে হয়। এটি অ্যাকশন বার ওভারফ্লো এলাকায় কীভাবে একটি রিফ্রেশ অ্যাকশন যুক্ত করতে হয় তাও দেখায় যাতে যে ব্যবহারকারীরা সোয়াইপ অঙ্গভঙ্গি ব্যবহার করতে পারে না তারা একটি বাহ্যিক ডিভাইসের সাথে একটি ম্যানুয়াল আপডেট ট্রিগার করতে পারে।

SwipeRefreshLayout নির্ভরতা যোগ করুন

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

গ্রোভি

dependencies {
    implementation "androidx.swiperefreshlayout:swiperefreshlayout:1.2.0-alpha01"
}

কোটলিন

dependencies {
    implementation("androidx.swiperefreshlayout:swiperefreshlayout:1.2.0-alpha01")
}

SwipeRefreshLayout উইজেট যোগ করুন

একটি বিদ্যমান অ্যাপে সোয়াইপ-টু-রিফ্রেশ উইজেট যোগ করতে, একটি একক ListView বা GridView এর অভিভাবক হিসেবে SwipeRefreshLayout যোগ করুন। SwipeRefreshLayout শুধুমাত্র একটি ListView বা GridView চাইল্ডকে সমর্থন করে।

নিম্নলিখিত উদাহরণটি দেখায় কিভাবে একটি ListView ধারণকারী একটি বিদ্যমান লেআউট ফাইলে SwipeRefreshLayout উইজেট যোগ করতে হয়:

<androidx.swiperefreshlayout.widget.SwipeRefreshLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/swiperefresh"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <ListView
        android:id="@android:id/list"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />

</androidx.swiperefreshlayout.widget.SwipeRefreshLayout>

এছাড়াও আপনি একটি ListFragment সহ SwipeRefreshLayout উইজেট ব্যবহার করতে পারেন। যদি লেআউটে "@android:id/list" ID সহ একটি ListView থাকে, তাহলে সোয়াইপ-টু-রিফ্রেশ কার্যকারিতা স্বয়ংক্রিয়ভাবে সমর্থিত হয়। যাইহোক, এইভাবে ListView স্পষ্টভাবে ঘোষণা করা হলে তা ডিফল্ট ListFragment ভিউ স্ট্রাকচারকে ছাড়িয়ে যায়। আপনি যদি ডিফল্ট ভিউ স্ট্রাকচার ব্যবহার করতে চান, তাহলে SwipeRefreshLayout এবং ListFragment আচরণের কিছু অংশ ওভাররাইড করুন।

অ্যাকশন বারে একটি রিফ্রেশ অ্যাকশন যোগ করুন

আপনার অ্যাপের অ্যাকশন বারে একটি রিফ্রেশ অ্যাকশন যোগ করুন যাতে ব্যবহারকারী যারা সোয়াইপ অঙ্গভঙ্গি করতে পারে না তারা একটি ম্যানুয়াল আপডেট ট্রিগার করতে পারে। উদাহরণস্বরূপ, অ্যাক্সেসিবিলিটি প্রয়োজন ব্যবহারকারীরা কিবোর্ড এবং ডি-প্যাডের মতো বাহ্যিক ডিভাইসগুলি ব্যবহার করে অ্যাকশন বার অ্যাকশনগুলি ট্রিগার করতে পারে।

অ্যাট্রিবিউট android:showAsAction=never সেট করে একটি বোতামের পরিবর্তে একটি মেনু আইটেম হিসাবে রিফ্রেশ অ্যাকশন যোগ করুন। আপনি যদি একটি বোতাম হিসাবে অ্যাকশনটি প্রদর্শন করেন, ব্যবহারকারীরা রিফ্রেশ বোতাম অ্যাকশনটি সোয়াইপ-টু-রিফ্রেশ অ্যাকশন থেকে আলাদা বলে ধরে নিতে পারেন। অ্যাকশন বারে রিফ্রেশ অ্যাকশনকে কম সুস্পষ্ট করা ব্যবহারকারীদেরকে সোয়াইপ অঙ্গভঙ্গি সহ ম্যানুয়াল আপডেট করতে উৎসাহিত করে যেখানে ডি-প্যাড ব্যবহারকারীরা এটির জন্য অ্যাক্সেসযোগ্য বিকল্পটি বজায় রাখে।

নিচের কোডটি দেখায় কিভাবে ওভারফ্লো এলাকায় সোয়াইপ-টু-রিফ্রেশ অ্যাকশন যোগ করতে হয়:

<menu xmlns:android="http://schemas.android.com/apk/res/android" >
    <item
        android:id="@+id/menu_refresh"
        android:showAsAction="never"
        android:title="@string/menu_refresh"/>
</menu>