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>