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

Yenilemek için kaydırma kullanıcı arayüzü kalıbı, tamamen SwipeRefreshLayout. Dikey kaydırmayı algılayan, ayırt edici bir ilerleme çubuğu görüntüleyen ve geri çağırmayı tetikleyen bir widget yöntemlerine göz atın. Widget'ı düzen dosyanıza ListView veya GridView ve Kullanıcı hızlıca kaydırdığında çağrılan yenileme davranışı.

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

Hızlıca Kaydırma Düzeni bağımlılığı ekleme

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

Eski

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

Kotlin

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

ScrollRefreshLayout Widget'ını ekleme

Yenilemek için kaydırma widget'ını mevcut bir uygulamaya eklemek için SwipeRefreshLayout öğesini tek bir ListView veya GridView öğesinin üst öğesidir. SwipeRefreshLayout yalnızca tek bir ListView veya GridView çocuk.

Aşağıdaki örnekte, SwipeRefreshLayout widget'ının bir ListView içeren mevcut düzen dosyası:

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

Ayrıca SwipeRefreshLayout widget'ını bir ListFragment. Öğe düzen "@android:id/list" kimliğine sahip bir ListView, yenilemek için kaydırma işlevi otomatik olarak desteklenir. Ancak, açıkça beyan etmeniz gereken Bu şekilde ListView, varsayılan ListFragment görünüm yapısının yerini alır. Eğer varsayılan görünüm yapısını kullanmak, SwipeRefreshLayout öğesinin bazı kısımlarını geçersiz kılmak ve ListFragment davranışı.

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

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

Yenileme işlemini, özelliği ayarlayarak düğme yerine menü öğesi olarak ekleyin android:showAsAction=never İşlemi bir düğme olarak görüntülerseniz, kullanıcılar yenile düğmesi işlemi, yenilemek için kaydırma işleminden farklıdır. Yenileme işlemini yapma İşlem çubuğunda daha az belirgin olan, kullanıcıları kaydırma hareketleriyle manuel güncelleme yapmaya teşvik eder bir yandan da D-pad kullanıcılarının aradığı erişilebilirlik seçeneğini korur.

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>