Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- JetpackCompose
- Android 애드몹
- 선언형UI
- android daum map
- 안드로이드 라이브러리
- 애드몹배너
- 애드몹광고
- android kakao map
- Clean Architecture
- 젯팩컴포즈
- 아키텍처
- 파이어베이스
- glide
- 클린 아키텍처
- thread
- 다이나믹 링크
- 동적 링크
- component
- dynamiclink
- 안드로이드광고
- ImageView
- HTTP
- RecyclerView
- Firebase
- 컴포넌트
- Android
- 안드로이드
- 안드로이드컴포즈
- 안드로이드 카카오 지도
- android 지도
Archives
- Today
- Total
코딩스토리
[Android/안드로이드] 페이징 버튼 처리하기/Paging library 본문
앱을 만들다 보면 데이터를 다량으로 불러오는 경우가 있습니다.
페이스북이나 인스타에서도 다량의 데이터를 가져오지만, 그 데이터를 한번에 가져오지 않습니다.
한번에 가져오게 될 경우 로딩하는데 시간이 오래걸리기 때문에 수 차례에 걸쳐서 조금씩 데이터를 불러오는 방법을 사용하고 있습니다.
보통 앱에서는 스크롤 감지를 통해 페이징처리를 하지만, 이번시간에는 웹에서 자주 사용하는 버튼형식을 통한 페이징버튼을 알려주고자 합니다.
Sample
위그림처럼 버튼을 통해 페이징 처리를 할 수 있습니다.
다음 이미지처럼 양쪽에 이미지뷰를 통해 원하는대로 꾸밀 수 있습니다.
사용 라이브러리
https://github.com/lakue119/LakuePagingButton
사용법
build.gradle(Project: Appname)
allprojects {
repositories {
// ...
maven { url 'https://jitpack.io' }
}
}
build.gradle(Module: app)
dependencies {
//Add LakuePagingButton Library
implementation 'com.github.lakue119:LakuePagingButton:1.0.0'
}
레이아웃 아이템 추가
<com.lakue.pagingbutton.LakuePagingButton
android:id="@+id/lpb_buttonlist"
android:layout_width="wrap_content"
android:layout_height="wrap_content"/>
소스코드 작성
//한 번에 표시되는 버튼 수 (기본값 : 5)
lpb_buttonlist.setPageItemCount(4);
//총 페이지 버튼 수와 현재 페이지 설정
lpb_buttonlist.addBottomPageButton(max_page,1);
//페이지 리스너를 클릭했을 때의 이벤트
lpb_buttonlist.setOnPageSelectListener(new OnPageSelectListener() {
//PrevButton Click
@Override
public void onPageBefore(int now_page) {
//prev 버튼을 클릭하면 버튼이 재설정되고 버튼이 그려집니다.
lpb_buttonlist.addBottomPageButton(max_page,now_page);
Toast.makeText(MainActivity.this, ""+now_page, Toast.LENGTH_SHORT).show();
//해당 페이지에 대한 소스 코드 작성
//...
}
@Override
public void onPageCenter(int now_page) {
Toast.makeText(MainActivity.this, ""+now_page, Toast.LENGTH_SHORT).show();
//Write source code for there page
//...
}
//NextButton Click
@Override
public void onPageNext(int now_page) {
//next 버튼을 클릭하면 버튼이 재설정되고 버튼이 그려집니다.
lpb_buttonlist.addBottomPageButton(max_page,now_page);
Toast.makeText(MainActivity.this, ""+now_page, Toast.LENGTH_SHORT).show();
//해당 페이지에 대한 소스 코드 작성
//...
}
});
LakuePagingButton 라이브러리를 사용하시면 버튼 클릭한 페이지를 받아와 보여주기만 하면 간단하게 페이징 처리를 할 수 있습니다.
'Android > 유용한 기술' 카테고리의 다른 글
[Android/안드로이드] PopupActivity로 쉽게 Popup창을 만들기 (7) | 2020.03.07 |
---|---|
[Android/안드로이드] ImageView에 url 로 이미지 지정하기 (0) | 2020.03.04 |
[Android/안드로이드] 앱 APK 추출하기 (1) | 2020.02.27 |
[Android/ 안드로이드] EditText 위부터 입력하기 (0) | 2020.02.07 |
[Android/ 안드로이드] 브레이크포인트 (Break Point )한번에 모두 지우기 (0) | 2020.02.06 |
Comments