당겨서 새로고침, Pull to refresh
당겨서 새로고침을 위해서 SwipeRefreshLayout가 필요하며 이는 Android support library v4에 포함되어 있다.
먼저 gradle에 support v4 라이브러리를 추가한다.
dependencies { . . . complie 'com.android.support:support-v4:25.1.0' } |
다음은 새로고침을 적용할 뷰를 SwipeRefreshLayout로 감싼다. 아마 대부분 ListView나 RecyclerView가 될 것이다.
<android.support.v4.widget.SwipeRefreshLayout android:layout_width="match_parent" android:layout_height="match_parent" android:id="@+id/sr_layout"> <ListView . . . /> </android.support.v4.widget.SwipeRefreshLayout> |
이제 새로고침에 대한 반응을 할 OnRefreshListener 인터페이스를 등록해야 한다. 등록하기에 앞서 SwipeRefreshLayout 객체를 만들자.
SwipeRefreshLayout swipeRefreshLayout = (SwipeRefreshLayout) findViewById(R.id.sr_layout); swipeRefreshLayout.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() { @Override public void onRefresh() { // 새로고침 할 작업 swipeRefreshLayout.setRefreshing(false); } } |
위에서 setRefreshing(false)가 없으면 새로고침 아이콘이 사라지지 않는다.
현재 구글은 Pull To Refresh UI에 대한 새로운 스타일을 공개했고, 이와 관련해서 Naver D2에서 오픈소스로
공개한 주소를 공유한다.
'프로그래밍 > Android' 카테고리의 다른 글
안드로이드 AdMob (광고 넣기) - Firebase (0) | 2017.02.28 |
---|---|
FCM 구현 - 안드로이드 (0) | 2017.02.28 |
Fragment 새로고침 (0) | 2017.02.20 |
안드로이드 strings.xml에 대해 알아보자 (0) | 2017.02.17 |
안드로이드 프래그먼트(Android Fragment) (0) | 2017.01.24 |