Uygulamanıza yenilemek için kaydırın

Yenilemek için kaydır kullanıcı arayüzü kalıbı, dikey kaydırmayı algılayan, ayırt edici bir ilerleme çubuğu gösteren ve uygulamanızda geri çağırma yöntemlerini tetikleyen SwipeRefreshLayout widget'ı içinde tamamen uygulanır. Widget'ı bir ListView veya GridView öğesinin üst öğesi olarak düzen dosyanıza ekleyerek ve kullanıcı kaydırdığında çağrılan yenileme davranışını uygulayarak bu davranışı etkinleştirin.

Bu sayfada, widget'ın mevcut bir düzene nasıl ekleneceği gösterilmektedir. Ayrıca, kaydırma hareketini kullanamayan kullanıcıların harici bir cihazla manuel güncelleme tetikleyebilmesi için işlem çubuğu taşma alanına nasıl yenileme işlemi ekleneceği de gösterilmektedir.

SwipeRefreshLayout bağımlılığını ekleme

Uygulamanızda SwipeRefreshLayout'ü kullanmak için build.gradle dosyanıza aşağıdaki bağımlılık ekleyin:

Groovy

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

Kotlin

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

SwipeRefreshLayout widget'ını ekleme

Yenilemek için kaydırma widget'ını mevcut bir uygulamaya eklemek istiyorsanız SwipeRefreshLayout öğesini tek bir ListView veya GridView öğesinin üst öğesi olarak ekleyin. SwipeRefreshLayout yalnızca tek bir ListView veya GridView alt öğesini destekler.

Aşağıdaki örnekte, SwipeRefreshLayout widget'ının ListView içeren mevcut bir sayfa düzeni dosyasına nasıl ekleneceği gösterilmektedir:

<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 widget'ını ListFragment ile de kullanabilirsiniz. Düzenleme, "@android:id/list" kimlikli bir ListView içeriyorsa kaydırarak yenileme işlevi otomatik olarak desteklenir. Ancak ListView değerini bu şekilde açıkça belirtmek, varsayılan ListFragment görünüm yapısının yerini alır. Varsayılan görünüm yapısını kullanmak istiyorsanız SwipeRefreshLayout ve ListFragment davranışının bazı bölümlerini geçersiz kılın.

İşlem çubuğuna yenileme işlemi ekleme

Kaydırma hareketleri yapamayan kullanıcıların manuel güncelleme yapabilmesi için uygulamanızın işlem çubuğuna yenileme işlemi ekleyin. Örneğin, erişilebilirlik ihtiyaçları olan kullanıcılar klavye ve D-pad gibi harici cihazları kullanarak işlem çubuğu işlemlerini tetikleyebilir.

android:showAsAction=never özelliğini ayarlayarak yenileme işlemini düğme yerine menü öğesi olarak ekleyin. İşlemi bir düğme olarak gösterirseniz kullanıcılar yenileme düğmesi işleminin, kaydırarak yenileme işleminden farklı olduğunu düşünebilir. Yenileme işleminin işlem çubuğunda daha az belirgin hale getirilmesi, kullanıcıların D-pad kullanıcılarının aradığı erişilebilir seçenek korunurken kaydırma hareketleriyle manuel güncellemeler yapmasını teşvik eder.

Aşağıdaki kodda, kaydırarak yenileme işleminin taşma alanına nasıl ekleneceği gösterilmektedir:

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