[메이플 캘린더] Custom View로 장비 세부정보 UI에 스타포스를 달아보자
·
개인 프로젝트/안드로이드
사용 의도스타포스 UI는 아이템별로 배치해야 할 별의 위치, 개수, 심지어 별의 간격까지 다르며 이것을 정형화된 View로는 나타낼 수 없다고 판단하여 Custom View를 활용하기로 하였다. 학습 내용 Custom View의 구현은 View의 크기를 측정하는 onMeasure(), View를 측정한 후 화면에 배치한 후 호출되는 onLayout(), View를 배치한 후 View에 무언가를 그리는 onDraw()로 순차적으로 이루어진다.onMeasure() : View의 크기를 확인하거나 ViewGroup인 경우 ViewGroup을 구성하는 Child View들을 통하여 width와 height를 결정한다.onMeasure()는 특별히 return하는 값이 없으며, setMeasuredDimensio..
[메이플 캘린더] ViewPager2와 Custom View로 캐릭터 정보 조회 날짜를 선택하는 달력을 만들어보자
·
개인 프로젝트/안드로이드
사용 의도넥슨에서 메이플스토리의 캐릭터 정보를 실시간으로 제공하게 되었으며, 그에 따라 캐릭터 정보를 실시간으로 조회할지, 아니면 날짜를 선택해서 조회할지를 결정하는 기능을 구현하게 되었다.조회 날짜 선택 모드일 때 달력 모양의 이미지 버튼이 생기며, 버튼을 누르면 달력 Dialog가 나오고 여기서 날짜를 선택할 수 있게 하였다.그리고 달력을 좌우 스와이프로 달력을 바꿀 수 있도록 하고 싶었기 때문에, 기존에 사용하던 RecyclerView + ListAdapter가 아닌 ViewPager2를 사용하게 되었다. 학습 내용ViewPager2는 Fragment 간 화면 슬라이드를 가능하게 하는 라이브러리이다.ViewPager2는 화면 슬라이드에 자동으로 애니메이션을 적용할 수 있다. 이 애니메이션은 사실 따..