Android DateRangePicker Custom Settings - 1. Modal

2023. 10. 22. 18:00·Android
728x90
반응형

이번 글에서는 머터리얼에서 제공하는 날짜 범위 선택 기능에서 내가 사용한 몇가지 설정을 공유하려고 한다.

 

달력 생성 방식(?)

맨처음 문제가 되었던 녀석이다.

 

바로, 내가 원하던 방식은 Dialog처럼 선택기가 보이는 것이었다.(BottomSheet 관련 글에서 소개했던 Modal 방식을 원했다.)

 

하지만, 일반 바(bar)형 기종에서는 전체화면(액티비티같은?)으로 DateRangePicker가 실행되었다.

특이하게 폴드 기종이나 태블릿에서는 DateRangePicker가 Dialog처럼 실행되었다.

 

정확히 찾아보진 않았지만 머터리얼에서 휴대폰 스크린 사이즈에 따라 실행 방식을 다르게 두었다고 생각을 했고

결국 머터리얼에서 이를 제어하기 위해서는 스크린 사이즈에 따라 테마를 다르게 설정했다고 생각했다.

(이는 이전에 머터리얼의 바텀 시트를 사용할 때 경험이 있었기 때문에 나름 합리적인 추론이라 생각했다.)

 

내 생각과 관련된 내용은 아래에서 찾을 수 있다.

https://github.com/material-components/material-components-android/blob/master/docs/components/DatePicker.md

 

그래서 나는 머터리얼3 테마를 사용하면서도 항상 Dialog로 실행시키는 방법을 찾았는데

DateRangePicker를 build 하기 전에 테마를 설정하는 것이었다.

 

https://gist.github.com/BonusTrack02/8617a4d85c0f43a962c5c3572c06a30a

 

DateRangePicker using Material3 dialog mode

DateRangePicker using Material3 dialog mode. GitHub Gist: instantly share code, notes, and snippets.

gist.github.com

내가 위의 gist에서 적용한 테마는 material 라이브러리가 적용된 프로젝트라면 모두 갖고 있을 테마이다.

 

다음 글에서는 날짜 선택 기능에 대해 소개해보겠다.

728x90
반응형
저작자표시 비영리 변경금지

'Android' 카테고리의 다른 글

Android DateRangePicker Custom Settings - 3. Constraints Date  (0) 2023.10.25
Android DateRangePicker Custom Settings - 2. Current Date  (0) 2023.10.24
How to Hide keyboard from fragments  (0) 2023.10.08
Codelab으로 Room 알아보기 - 3. Create the DAO  (0) 2023.09.23
Android BottomSheet Material Theme 적용하기  (0) 2023.09.15
'Android' 카테고리의 다른 글
  • Android DateRangePicker Custom Settings - 3. Constraints Date
  • Android DateRangePicker Custom Settings - 2. Current Date
  • How to Hide keyboard from fragments
  • Codelab으로 Room 알아보기 - 3. Create the DAO
BonusTrack02.dev
BonusTrack02.dev
공부, 일상
  • BonusTrack02.dev
    BonusTrack02.dev
    BonusTrack02.dev
  • 전체
    오늘
    어제
    • 분류 전체보기 (237) N
      • Android (84)
      • Language (63) N
        • Java (19)
        • Kotlin (27) N
        • Swift (17)
      • 프로그래머스 (68)
      • 주저리주저리 (22)
        • 카페 (5)
        • 음식점 (4)
        • 컨퍼런스 (1)
        • 팝업스토어 (4)
        • 해외여행 (0)
        • 전시회 (1)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    aac
    프로그래머스
    databinding
    room
    CodeLab
    android
    오블완
    코루틴
    ViewModel
    PCCE
    Java
    Material
    티스토리챌린지
    programmers
    daterangepicker
    jetpack
    스위프트
    안드로이드
    Observer
    getNumericValue
    자바
    SWIFT
    Kotlin
    배열
    MVVM
    LiveData
    코틀린
    ios
    viewModelScope
    coroutines
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
BonusTrack02.dev
Android DateRangePicker Custom Settings - 1. Modal
상단으로

티스토리툴바