대화 상자

대화 상자(dialog)는 앱에서 작업을 계속 진행하기 위해 결정사항이나 필요한 추가 정보를 사용자에게 묻습니다. 이러한 요청은 단순한 확인/취소 결정부터 좀 더 복잡한 조절 설정이나 텍스트 입력까지 넓게 포괄할 수 있습니다.

  1. 선택적인 타이틀 영역

    타이틀은 대화 상자의 내용을 소개합니다. 예를 들면 사용자가 바꾸려는 설정의 이름을 식별하거나 결정을 요구할 수도 있습니다.

  2. 컨텐츠 영역

    대화 상자의 내용은 다양합니다. 예를 들어 설정 대화 상자라면 앱이나 시스템 설정을 사용자가 바꿀 수 있게 하는 슬라이더, 텍스트 필드, 체크박스, 라디오 버튼과 같은 사용자 인터페이스 요소가 포함될 수 있습니다. 다른 상황으로, 경고 창의 경우에는 사용자가 결정한 이후의 상황으로 진행하기 위해 단독적인 문구가 표시될 것입니다.

  3. 액션 버튼

    액션 버튼(action button)은 일반적으로 취소(Cancel) 및 확인(OK) 버튼으로 구성되며, 확인 버튼은 가장 선호하거나 가능성이 높은 행동을 의미합니다. 하지만 선택지가 확인/취소가 아니라 닫기나 대기 등의 특정 동작들로 이루어지는 경우는 버튼 스스로가 어떤 행동을 할지 표시해야 합니다. 버튼 순서 기준은 다음과 같습니다.

    • 다이얼로그 행동을 취소하는 버튼은 항상 왼쪽에 옵니다. 이 행동을 선택하면 기존 화면으로 돌아옵니다.
    • 긍정하는 행동이 오른쪽에 옵니다. 이 행동을 선택하면 다이얼로그가 뜨기 전부터의 원래 사용자 목적을 계속 수행합니다.
일반적인 안드로이드에서의 대화 상자 사용 예시입니다.

경고 창(Alerts)

경고 창은 무언가를 진행하기 전에 확인이나 승인을 필요로 하는 상황을 사용자에게 알려줍니다. 경고 창의 모양새는 심각성과 전달하는 메시지의 강조량에 따라 조금씩 다를 수 있습니다.

타이틀 바 없는 경고 창

대부분의 경고 창은 제목이 필요 없습니다. 일반적인 결정은 심각한 영향을 미치지 않기 때문에 한 두 문장으로 간결하게 요약할 수 있습니다. 컨텐츠 영역은 질문을 하거나("이 대화를 지우시겠습니까?" 와 같은 것들) 명백한 액션 버튼과 관련한 명확한 문장으로 구성합니다.

타이틀 바가 있는 경고 창

타이틀 바가 있는 경고 창은 드물게 사용합니다. 경고 창은 잠재적인 데이터 및 연결 손실이나 특별한 비용이 발생할 경우와 같이 매우 위험한 동작을 수행할 때에만 적당하며, (타이틀에는) 명확한 질문이나 문장과 (컨텐츠 영역에는) 약간의 추가 설명이 필요합니다.

질문이나 문장을 간결하게 하세요: 예를 들면 "USB 저장소를 지우시겠습니까?"는 양해를 구하는 말이 없습니다. 사용자가 내용을 완전히 건너뛰어도 동작 버튼의 텍스트와 타이틀을 기반으로 어떤 선택을 할 수 있는지 명확한 의미를 알 수 있어야 합니다.

경고 창을 만들 때, 제목에 원래 행동을 다시 한번 표시하는 방식으로 제목에 의미를 주세요.

이렇게 하지 마세요
확실합니까?
이렇게 하지 마세요
주의!
이렇게 하세요
Erase USB storage? USB 저장소를 지우시겠습니까?

팝업

팝업(popup)은 사용자로부터 단일 선택을 요구하는 대화 상자의 가벼운 형태입니다. 팝업은 동작을 허용하거나 취소하는 명확한 버튼이 없습니다. 대신에 동작을 진행하기 전에 선택의 여지를 만들며, 팝업 바깥 쪽을 터치하여 팝업을 없앨 수 있습니다.

토스트

토스트는 처리 결과를 가볍게 피드백해주는 작은 팝업입니다. 예를 들어, 여러분이 이메일을 보내기 전에 다른 곳으로 빠져 나가면 나중에 계속 편집할 수 있다는 것을 알려주는 "메일이 임시 보관함에 저장되었습니다." 토스트를 띄웁니다. 토스트는 시간이 지나면 자동으로 사라집니다.