[Android Study] 다이얼로그 - Toast, 날짜/시간
* 다이얼로그(dialog)란 사용자와 상호 작용하는 대화상자이다.
* 토스트 메세지 띄우기
- 토스트(Toast)는 화면 아래쪽에 잠깐 보였다가 사라지는 문자열을 의미하며 사용자에게 간단한 메세지로 특정한 상황을 알릴 때 사용한다. 대표적인 예시로는 폰의 뒤로가기 버튼을 눌렀을 때 "종료하려면 한 번 더 누르세요"같은 메세지가 뜨는 것이다.
- 토스트는 Toast의 makeText() 함수로 만든다. makeText로 만든 토스트는 show() 함수로 화면에 출력한다.
open static fun makeText(context: Context!, text: CharSequence!, duration: Int): Toast!
open static fun makeText(context: Context!, resId: Int, duration: Int): Toast!
- 두 번째 매개변수가 출력할 문자열이며, 세 번째 매개변수는 토스트가 화면에 출력되는 시간이다. 보통 다음의 상수를 이용한다.
- Toast.LENGTH_SHORT: 3초
- Toast.LENGTH_LONG: 5초
- 토스트가 화면에 보이거나 사라지는 순간을 콜백으로 감지해 특정 로직을 수행하게 할 수도 있다.
@RequiresApi(Build.VERSION_CODES.R)
fun showToast() {
val toast = Toast.makeText(this, "종료하려면 한 번 더 누르세요.", Toast.LENGTH_SHORT)
toast.addCallback(
object: Toast.Callback() {
override fun onToastHidden() {
super.onToastHidden()
Log.d("toast hidden")
}
override fun onToastShown() {
super.onToastShown()
Log.d("toast shown")
}
}
)
toast.show()
}
- 화면에 토스트가 뜨는 순간 자동으로 콜백함수 onToastShown() 함수가 호출되며, 화면에서 사라지는 순간 onToastHidden() 함수가 자동으로 호출된다.
* 날짜 또는 시간 입력받기
- 사용자에게 날짜나 시간을 입력받는 데 사용하는 다이얼로그를 피커 다이얼로그(Picker dialog)라고 한다.
- 날짜를 입력받을 때는 date picker dialog, 시간을 입력받을 때는 time picker dialog를 사용한다.
* 날짜 입력 받기
// 데이트 피커 다이얼로그 생성자
DatePickerDialog(context: Context, listener: DatePickerDialog.OnDateSetListener?,
year: Int, month: Int, dayOfMonth: Int)
- 두 번째 매개변수로 DatePickerDialog.OnDateSetListener 구현 객체를 등록하면 다이얼로그에서 사용자가 설정한 날짜를 콜백함수로 얻을 수 있다. 나머지 Int 타입의 매개변수는 처음에 보이는 날짜이다. month값은 0부터 11까지 지정되며 0은 1월을 의미한다.
* 시간 입력 받기
// 타임 피커 다이얼로그 생성자
TimePickerDialog(context: Context!, listener: TimePickerDialog.OnTimeSetListener!,
hourOfDay: Int, minute: Int, is24HourView: Boolean)
- 마지막 매개변수를 true로 지정하면 오전/오후를 선택하는 부분이 보이지 않는다.
'Study > Android' 카테고리의 다른 글
[Android Study] 다이얼로그 - 커스텀 다이얼로그 (1) | 2024.03.19 |
---|---|
[Android Study] 다이얼로그 - AlertDialog (0) | 2024.03.18 |
[Android Study] 퍼미션 설정하기 (1) | 2024.03.16 |
[Android Study] 리소스 (1) | 2024.03.15 |
[Android Study] 뷰 이벤트 (1) | 2024.03.14 |