अपने ऐप्लिकेशन में स्वाइप करने के लिए रीफ़्रेश करने की सुविधा जोड़ें

स्वाइप-टू-रीफ़्रेश यूज़र इंटरफ़ेस पैटर्न पूरी तरह से SwipeRefreshLayout अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है यह विजेट, वर्टिकल स्वाइप का पता लगाता है, एक खास प्रोग्रेस बार दिखाता है, और कॉलबैक ट्रिगर करता है तरीकों का इस्तेमाल करें. विजेट को अपनी लेआउट फ़ाइल में इसके पैरंट के तौर पर जोड़कर, इस व्यवहार को चालू करें ListView या GridView और उपयोगकर्ता के स्वाइप करने पर ट्रिगर होने वाला रीफ़्रेश व्यवहार.

इस पेज में, मौजूदा लेआउट में विजेट जोड़ने का तरीका बताया गया है. इसमें यह भी बताया गया है कि रीफ़्रेश कैसे करें कार्रवाई बार ओवरफ़्लो क्षेत्र पर कार्रवाई करें, ताकि जो उपयोगकर्ता स्वाइप जेस्चर का उपयोग नहीं कर सकते वे किसी बाहरी डिवाइस की मदद से मैन्युअल तरीके से अपडेट करने की सुविधा मिलती है.

स्वाइप करेंरीफ़्रेश करने के लिए डिपेंडेंसी जोड़ें

अपने ऐप्लिकेशन में SwipeRefreshLayout का इस्तेमाल करने के लिए, यहां दी गई डिपेंडेंसी को अपने ऐप्लिकेशन में जोड़ें build.gradle फ़ाइल:

ग्रूवी

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

Kotlin

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

स्वाइप करेंरीफ़्रेश लेआउट विजेट जोड़ें

किसी मौजूदा ऐप्लिकेशन में स्वाइप-टू-रीफ़्रेश विजेट जोड़ने के लिए, SwipeRefreshLayout को सिंगल ListView या GridView के पैरंट होते हैं. SwipeRefreshLayout सिर्फ़ एक ListView या GridView बच्चा.

नीचे दिए गए उदाहरण में, SwipeRefreshLayout विजेट को ListView वाली मौजूदा लेआउट फ़ाइल:

<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>

SwipeRefreshLayout विजेट का इस्तेमाल ListFragment. अगर लेआउट में "@android:id/list" आईडी वाला एक 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>