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

Yenilemek için kaydırma kullanıcı arayüzü kalıbı tamamen SwipeRefreshLayout widget'ın içinde uygulanır. Bu widget, dikey kaydırmayı algılayan, ayırt edici bir ilerleme çubuğu görüntüleyen ve uygulamanızda geri çağırma yöntemlerini tetikler. Widget'ı düzen dosyanıza ListView veya GridView üst öğesi olarak 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üncellemeyi tetikleyebilmesi için işlem çubuğu taşma alanına nasıl bir yenileme işlemi ekleneceği de gösterilmektedir.

ScrollYenileLayout bağımlılığı ekleme

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

Modern

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

Kotlin

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

ScrollYenileLayout Widget'ını ekleme

Yenilemek için kaydırma widget'ını mevcut bir uygulamaya eklemek isterseniz 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 örnek, SwipeRefreshLayout widget'ının ListView içeren mevcut bir düzen dosyasına nasıl ekleneceğini gösterir:

<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üzen, "@android:id/list" kimliğine sahip bir ListView içeriyorsa yenilemek için kaydırma işlevi otomatik olarak desteklenir. Bununla birlikte, ListView öğesinin bu şekilde açıkça belirtilmesi, 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 bir yenileme işlemi ekleyin

Kaydırma hareketlerini yapamayan kullanıcıların manuel güncellemeyi tetikleyebilmesi için uygulamanızın işlem çubuğuna bir yenileme işlemi ekleyin. Örneğin, erişilebilirlik gereksinimleri 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 bir düğme yerine bir menü öğesi olarak ekleyin. İşlemi düğme olarak gösterirseniz kullanıcılar yenile düğmesi işleminin, yenilemek için kaydırma işleminden farklı olduğunu düşünebilir. İşlem çubuğunda yenileme işleminin daha az göze çarpması, kullanıcıları kaydırma hareketleriyle manuel güncelleme yapmaya teşvik ederken D-pad kullanıcılarının aradığı erişilebilir seçeneği korumalarını sağlar.

Aşağıdaki kod, yenilemek için kaydırma işleminin taşma alanına nasıl ekleneceğini göstermektedir:

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