일단 시작하기 전에 SwipeRefreshLayout이 무엇일까요?
아래와 같이 리스트 최상단에서 하단으로 끌어내리면 새로고침되는, 일명 pull to refresh 입니다
실제 적용된 앱을 한번 보시죠
Gmail (지메일)
너 와 나 디데이( 커플디데이 ) 커뮤니티
보이시나요? 위처럼 리스트뷰 최상단에서 스크롤을 잡아 당기면 뷰가 초기화 되는 기능입니다.
예전 페이스북의 튕기는 것과 비슷한데 구글에서 만들어서 v4 라이브러리로 지원합니다.
SwipeRefreshLayout 구조
extends ViewGroup
java.lang.Object
↳ android.view.View
↳ android.view.ViewGroup
↳ android.support.v4.widget.SwipeRefreshLayout
보시는 것처럼 기본적으로 뷰입니다. 그래서 layout 에서 View 처럼 사용이 가능합니다.
예를 들어 뷰전체를( 너 와 나 디데이 처럼) 움직여서 새로고침할경우 예시입니다
위처럼 android.support.v4.widget.SwipeRefreshLayout 로 레이아웃을 감싸주면 됩니다.
이제 코드부분을 보겠습니다
해당 레이아웃을 사용할 액티비티에서 SwipeRefreshLayout.OnRefreshListener 를 implements 해서 사용하면됩니다.
그럼 onRefresh 가 Override 가되며 스크롤 액션이 발생하면 onRefresh 가 호출됩니다.
마지막으로 SwipeRefreshLayout 객체를 하나 만드셔서 초기화를 해주시면 됩니다.
현재는 디스크립트 되었지만 setColorScheme 로 로딩시 색상을 지정할 수 있습니다.