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>