안드로이드 앱 개발기 #3 - 무한 롤링 배너 만드는 법을 찾았으나, 높이를 wrap_content로 지정이 안 먹히는 문제점이...

in zzan2 years ago

이번에 진행 중인 개발 건은 P앱의 메인 화면에 무한 롤링 배너를 추가하는 것이다. 무한 롤링 배너는 안드로이드에서 제공하지 않는다. 뷰 페이저(view pager)를 응용하여 이를 구현 가능할 것으로 보이는데, 이미 누가 만든 것이 있는지 궁금해서 찾아 보았다. 검색 결과, 오픈소스가 있다.

위 GitHub의 readme 내용을 보니 모듈화가 되어 있어 가져다 쓸 수 있다. 무한 롤링 배너를 직접 구현해야 하나 고민을 했었는데, 그럴 필요는 없게 되었다. 이를 참조하여 배너를 띄우는 샘플 프로젝트를 만들어 보았다.

문제점

이 무한 롤링 배너는 내부적으로 ViewPager를 사용하기 때문에 높이를 wrap_content로 지정해도 높이가 match_parent로 적용되는 문제가 있다. 해결 방법을 찾아 본 결과, ViewPager를 상속하고 onMeasure 함수를 수정하면 된다고 한다. 그러나 모듈화된 무한 롤링 배너 뷰의 ViewPager를 커스터마이징을 하는 것은 불가능하다. 오픈 소스를 가져와서 커스터마이징을 할 수는 있지만, 그것은 관리해야 할 소스가 늘어난다는 문제가 있다. 대안이 있을 것 같은데... 배너 내용을 보여주는 뷰의 높이를 가져와서 배너의 높이로 지정하면 되지 않을까? 이 방법이 가능한지 내일 알아볼 예정이다.


지난 안드로이드 앱 개발기

Coin Marketplace

STEEM 0.30
TRX 0.12
JST 0.033
BTC 64534.17
ETH 3150.15
USDT 1.00
SBD 4.01