Wzorzec interfejsu „Przesuwanie w celu odświeżenia” jest zaimplementowany w całości
SwipeRefreshLayout
widżet, który wykrywa przesuwanie w pionie, wyświetla charakterystyczny pasek postępu i wywołuje wywołanie zwrotne.
w swojej aplikacji. Włącz to zachowanie, dodając widżet do pliku układu jako element nadrzędny
ListView
lub
GridView
i wdrożenie
odświeżanie wywoływane po przesunięciu palcem przez użytkownika.
Na tej stronie dowiesz się, jak dodać widżet do istniejącego układu. Pokazuje też, jak dodać odświeżanie. w obszarze przepełnienia paska działań, aby użytkownicy, którzy nie mogą używać gestu przesuwania, ręcznie aktualizować przy użyciu urządzenia zewnętrznego.
Dodaj zależność StackdriverRefreshLayout
Aby użyć SwipeRefreshLayout
w aplikacji, dodaj tę zależność do
Plik build.gradle
:
Odlotowe
dependencies { implementation "androidx.swiperefreshlayout:swiperefreshlayout:1.2.0-alpha01" }
Kotlin
dependencies { implementation("androidx.swiperefreshlayout:swiperefreshlayout:1.2.0-alpha01") }
Dodaj widżet Przesuwanie odświeżaniaUkładu
Aby dodać widżet „Przesuń, aby odświeżyć” do istniejącej aplikacji, dodaj SwipeRefreshLayout
jako
element nadrzędny pojedynczego elementu ListView
lub GridView
.
SwipeRefreshLayout
obsługuje tylko jeden obiekt ListView
lub
GridView
dziecko.
Poniższy przykład pokazuje, jak dodać widżet SwipeRefreshLayout
do
istniejący plik układu zawierający ListView
:
<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>
Możesz też użyć widżetu SwipeRefreshLayout
z
ListFragment
Jeśli
układ zawiera element ListView
o identyfikatorze "@android:id/list"
,
funkcja „przesuń, aby odświeżyć” jest obsługiwana automatycznie. Wyraźne zadeklarowanie jednak,
W ten sposób ListView
zastępuje domyślną strukturę widoku danych ListFragment
. Jeśli
jeśli chcesz użyć domyślnej struktury widoku, zastąp części obiektu SwipeRefreshLayout
i ListFragment
.
Dodawanie działania odświeżania do paska działań
Dodaj odświeżanie do paska działań aplikacji, aby użytkownicy, którzy nie mogą wykonywać gestów przesuwania, powoduje automatyczną aktualizację. Na przykład użytkownicy, którzy potrzebują ułatwień dostępu, mogą uruchamiać działania na pasku działań korzystanie z urządzeń zewnętrznych, takich jak klawiatury i pady kierunkowe.
Dodaj działanie odświeżania jako pozycję menu, a nie jako przycisk, ustawiając atrybut
android:showAsAction=never
Jeśli wyświetlasz działanie jako przycisk, użytkownicy mogą założyć,
działanie przycisku odświeżania różni się od działania polegającego na przesunięciu palcem, aby odświeżyć. Przeprowadzam odświeżenie
mniej widoczne na pasku działań zachęca użytkowników do ręcznego aktualizowania informacji za pomocą gestów przesuwania.
z zachowaniem możliwości jej znalezienia przez użytkowników padów kierunkowych.
Ten kod pokazuje, jak dodać działanie „przesuń, aby odświeżyć” do rozszerzonego obszaru:
<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>