ViewPager 사용 시 양쪽 뷰 미리보기
여러 장의 카드뷰를 쭉 놓고 왼쪽, 오른쪽으로 슬라이드 하는 형식의 레이아웃에서 오른쪽 이나 왼쪽에서 항목이 보이지 않게 되면 사용자는 해당 기능(좌우 슬라이드)이 있는 줄도 모를 때가 많습니다.
이 때 해결방법이 양쪽에서 항목을 미리 보여주는 것입니다. 예를 들어, 카드뷰를 아이템으로 사용하는 레이아웃이라면, 카드뷰의 한 쪽을 미리 보여주는 것입니다. 구현은 간단하게 할 수 있습니다.
소스코드
int dpValue = 54;
float d = getResources().getDisplayMetrics().density;
int margin = (int) (dpValue * d);
binding.viewPager.setClipToPadding(false);
binding.viewPager.setPadding(margin, 0, margin, 0);
binding.viewPager.setPageMargin(margin/2);
우선 기기마다 해상도가 다르기 때문에 무작정 padding값을 주었다간, 항목이 아예 보이지 않거나 너무 많이 보여지게 됩니다. 이를 방지하기 위해 기기의 해상도를 가져와서 처리합니다.
위의 dpValue는 원하시는 만큼 조절하시면 되겠습니다.
위의 과정을 모두 거치면 아래와 같은 기분 좋은 결과가 나옵니다.
참고한 사이트
'Android' 카테고리의 다른 글
RecyclerView 에서 Divider (구분선) 추가하기 (0) | 2019.08.24 |
---|---|
Preference View(설정창 구현하기) (0) | 2019.07.18 |
[News] 안드로이드, 64비트 지원 '필수' (0) | 2019.01.21 |
레이아웃 디자인에 도움이 되는 사이트 (0) | 2018.12.22 |
Android Vector Drawable(Asset) 사용하기 (0) | 2018.11.26 |
댓글
이 글 공유하기
다른 글
-
RecyclerView 에서 Divider (구분선) 추가하기
RecyclerView 에서 Divider (구분선) 추가하기
2019.08.24 -
Preference View(설정창 구현하기)
Preference View(설정창 구현하기)
2019.07.18 -
[News] 안드로이드, 64비트 지원 '필수'
[News] 안드로이드, 64비트 지원 '필수'
2019.01.21 -
레이아웃 디자인에 도움이 되는 사이트
레이아웃 디자인에 도움이 되는 사이트
2018.12.22