스와이프하여 새로고침 사용자 인터페이스 패턴은
SwipeRefreshLayout
위젯 - 세로 스와이프를 감지하고 고유한 진행률 표시줄을 표시하며 콜백을 트리거합니다.
메서드를 사용할 수 있습니다. 위젯을 레이아웃 파일에
ListView
또는
GridView
및
사용자가 스와이프할 때 호출되는 새로고침 동작입니다.
이 페이지에서는 기존 레이아웃에 위젯을 추가하는 방법을 보여줍니다. 새로고침을 추가하는 방법도 보여줍니다. 작업을 작업 모음 오버플로 영역에 추가할 수 있습니다. 그러면 스와이프 동작을 사용할 수 없는 사용자가 외부 기기로 수동으로 업데이트해야 합니다.
SwissRefreshLayout 종속 항목 추가
앱에서 SwipeRefreshLayout
를 사용하려면 다음 종속 항목을
build.gradle
파일:
Groovy
dependencies { implementation "androidx.swiperefreshlayout:swiperefreshlayout:1.2.0-alpha01" }
Kotlin
dependencies { implementation("androidx.swiperefreshlayout:swiperefreshlayout:1.2.0-alpha01") }
SwipeRefreshLayout 위젯 추가
기존 앱에 스와이프하여 새로고침 위젯을 추가하려면 SwipeRefreshLayout
를
단일 ListView
또는 GridView
의 상위 요소입니다.
SwipeRefreshLayout
는 단일 ListView
또는
하위 항목 GridView
개
다음 예는 SwipeRefreshLayout
위젯을
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>
SwipeRefreshLayout
위젯을
ListFragment
입니다. 만약
레이아웃에 ID가 "@android:id/list"
인 ListView
, 즉
스와이프하여 새로고침 기능이 자동으로 지원됩니다. 그러나
이러한 방식으로 ListView
는 기본 ListFragment
뷰 구조를 대체합니다. 만약
기본 뷰 구조를 사용하려는 경우 SwipeRefreshLayout
의 일부를 재정의함
및 ListFragment
동작
작업 모음에 새로고침 작업 추가
스와이프 동작을 할 수 없는 사용자가 다음 작업을 할 수 있도록 앱의 작업 모음에 새로고침 작업을 추가하세요. 수동 업데이트를 트리거합니다 예를 들어 접근성 요구사항이 있는 사용자는 작업 모음 작업을 트리거할 수 있습니다. 키보드 및 D패드와 같은 외부 기기 사용
속성을 설정하여 새로고침 작업을 버튼이 아닌 메뉴 항목으로 추가합니다.
android:showAsAction=never
작업을 버튼으로 표시하면 사용자는
새로고침 버튼 작업은 스와이프하여 새로고침 작업과 다릅니다. 새로고침 작업 실행
작업 표시줄에 눈에 잘 띄지 않기 때문에 사용자가 스와이프 동작으로 수동 업데이트를 수행하도록 권장
D패드 사용자가 찾을 수 있는 접근성 옵션을 그대로 유지합니다.
다음 코드는 오버플로 영역에 스와이프하여 새로고침 작업을 추가하는 방법을 보여줍니다.
<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>