-
Notifications
You must be signed in to change notification settings - Fork 1
기술 공유_최대윤
Toolbar vs ActionBar ☞ 보러가기
ActionBar는 액티비티에 포함되어 있는 기능이고, Toolbar는 뷰에 속한다. Toolbar는 ActionBar보다 많은 기능을 제공한다. 네비게이션 과정에서 Toolbar 영역이 변하지 않는다면 Toolbar를 ActionBar에 바인딩하여 사용하는 것이 좋은 방법이다. ActionBar와 Toolbar를 사용하는 5가지 방법을 구현해보았다. 본 프로젝트는 싱글 액티비티 구조로 되어있고, 화면에 따라 Toolbar의 모양은 같지만 Title과 Navigation icon, Menu item들이 달라져야한다. 이러한 특성을 고려해서 Toolbar를 호스트 액티비티의 ActionBar에 바인딩하고 ActionBar의 속성을 프래그먼트에서 설정해주는 방법을 사용하고 있다.
ConcatAdapter ☞ 보러가기
기존에는 리사이클러뷰에서 여러 뷰 타입을 사용하기 위해 어댑터 내부에서 뷰 타입을 나눠서 사용했지만, 뷰 타입이 많아질수록 어댑터의 로직이 복잡해지고 모든 처리를 어댑터 클래스에서 해야한다는 단점이 있었다. 이를 개선하고자 추가된 어댑터가 ConcatAdapter이다.
Notification update 문제 ☞ 보러가기
SDK 24 미만에서는 알림 텍스트가 업데이트 되지 않는 문제가 발생하였고, 알림에 적용된 스타일로 인해 발생한 문제라는 것을 알게 되었다. SDK에 따라 적용 가능한 스타일이 다르고, Small Icon, Large Icon 등이 표시되는 위치가 달라져 디자인을 통일하기가 어려워 SDK 버전 별로 알림을 생성하고 업데이트하는 방식을 다르게 구현하였다.
명시적 딥 링크 문제 ☞ 보러가기
NavDeepLinkBuilder
로 명시적 딥링크를 생성할 때에는 인자로 전달된 context가 Activity의 것이어야 한다. 그렇지 않으면 기본적으로 PackageManager.getLaunchIntentForPackage()
를 사용하여 앱의 시작화면으로 진입하게 된다.