TIL: DialogFragment / Chip & ChipGroup

yxnsx·2021년 7월 19일
0

TIL: Things I Learned

목록 보기
1/4
post-thumbnail

Period

  • 2021-07-12(월) ~ 2021-07-18(일)


Things I Learned

1️⃣ DialogFragment

DialogFragment 생성

  • DialogFragment를 확장하는 클래스를 통해 다이얼로그를 생성할 수 있음
  • onCreateDialog() 메소드를 재정의하여 다이얼로그를 생성함
  • onCreateDialog() 메소드의 역할은 일반적인 프래그먼트가 onCreateView()를 통해 루트 뷰를 생성하는 것과 유사함
  • DialogFragment는 자체적인 setOnCancelListener()setOnDismissListener() 콜백을 지니므로 별도로 정의할 필요가 없음
  • 이러한 이벤트를 정의하고자 한다면, onCancel()onDismiss()를 오버라이드해야 함

DialogFragment 수명주기

  • DialogFragmentFragment의 수명주기를 따르나, 추가적인 몇 개의 수명주기를 지님
수명주기내용
onCreateDialog()Dialog를 관리하고 표시할 프래그먼트를 제공하기 위해 재정의
onDismiss()Dialog가 해제될 때 사용자 지정 로직(리소스 해제, 옵저버블 리소스 구독 취소 등)을 수행해야하는 경우 재정의
onCancel()Dialog가 해제될 때 사용자 지정 로직을 수행해야하는 경우 재정의
  • DialogFragment를 커스텀 뷰가 아닌 기본 Dialog(ex. AlartDialog, DatePickerDialog 등)와 함께 사용할 때, 이러한 Dialogview일 뿐만 아니라 자체적인 창을 지님
  • 때문에, 일반 프래그먼트와 같이 onCreateView() 또는 onViewCreated() 를 재정의해서는 안됨
  • onViewCreated() 의 경우엔, onCreateView() 를 재정의하고, onCreateView() 가 non-null view를 반환하는 경우에만 호출됨

DialogFragment with custom views

  • onCreateView() 를 재정의하여 DialogFragment를 생성하고 다이얼로그를 보여줄 수 있음
  • onCreateView() 를 재정의하고 view를 반환하면 자동으로 다이얼로그에 추가됨
  • 이러한 경우 대부분은 onCreateDialog() 를 재정의할 필요가 없음

2️⃣ Chip & ChipGroup

Chip이란?

  • 사용자가 정보를 입력하고, 선택 항목을 선택하고, 컨텐츠를 필터링하거나 작업을 트리거할 수 있도록 하는 압축 요소
  • RadioGroup과 유사한 ChipGroup을 통해 여러 칩의 레이아웃과 행동 패턴을 관리할 수 있음

Chip의 4가지 유형

  1. 입력 칩(Input chips)
    • 엔터티 또는 텍스트와 같은 간결한 형태의 정보를 나타냄
    • 사용자 입력을 가능하게 하고, 텍스트를 칩으로 변환하여 해당 입력을 확인함

  1. 선택 칩(Choice chips)
    • 최소 2개 이상의 옵션에서 단일 선택이 가능함
    • 칩이 선택되어 있을 때 다른 칩을 선택하면 자동으로 기존 칩이 선택 해제됨
    • 토글 버튼, 라디오 버튼 등 단일 선택 메뉴에 대한 좋은 대안이 될 수 있음

  1. 필터 칩(Filter chips)
    • 태그 또는 단어를 사용하여 컨텐츠를 필터링할 수 있음
    • 필터 칩이 선택되었음을 나타내는 아이콘을 추가할 수 있음
    • 버튼이나 체크박스에 대한 좋은 대안이 될 수 있음

  1. 액션 칩(Action chips)
    • 주요 컨텐츠와 관련된 액션을 제공함
    • 진행 상황과 확인 피드백을 보여줄 수 있음
    • 지속적이고 일관적으로 나타나야 하는 버튼에 대한 좋은 대안이 될 수 있음

0개의 댓글