Создаем портфолио за 1 месяц
К концу месяца: 4 классных проекта в вашем портфолио! Стоимость: 100$. Подробности...
172 of 502 menu
◀ ▶

Функция DatePickerDialog

Функция DatePickerDialog рисует диалог Material3 с DatePicker внутри лямбды content. Закрытие без выбора ловят в onDismissRequest. Кнопки подтверждения и отмены передают в confirmButton и dismissButton. Состояние даты берут из rememberDatePickerState, итог читают из selectedDateMillis.

Синтаксис

DatePickerDialog( onDismissRequest = { /* close */ }, confirmButton = { /* ok */ }, ) { DatePicker(state = datePickerState) }

Параметры

Параметр Описание
onDismissRequest Вызывается при закрытии диалога жестом или системной кнопкой назад.
confirmButton Composable кнопки подтверждения выбора даты.
dismissButton Composable кнопки отмены, может быть null.
content Тело диалога, обычно DatePicker с параметром state.

Пример

Давайте откроем диалог с календарём и кнопкой OK:

import android.os.Bundle import androidx.activity.ComponentActivity import androidx.activity.compose.setContent import androidx.compose.material3.DatePicker import androidx.compose.material3.DatePickerDialog import androidx.compose.material3.ExperimentalMaterial3Api import androidx.compose.material3.Text import androidx.compose.material3.TextButton import androidx.compose.material3.rememberDatePickerState import androidx.compose.runtime.getValue import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember import androidx.compose.runtime.setValue class MainActivity : ComponentActivity() { @OptIn(ExperimentalMaterial3Api::class) override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContent { var open by remember { mutableStateOf(true) } val state = rememberDatePickerState() if (open) { DatePickerDialog( onDismissRequest = { open = false }, confirmButton = { TextButton(onClick = { open = false }) { Text("abcde") } }, ) { DatePicker(state = state) } } } } }

На экране затемнённый фон и карточка с календарём, внизу кнопка с текстом "abcde" для закрытия.

Смотрите также

  • функция DatePicker,
    которая рисует календарь без оболочки диалога
  • функция rememberDatePickerState,
    которая хранит выбранную дату в selectedDateMillis
  • функция TimePicker,
    которая выбирает часы и минуты
  • функция DropdownMenu,
    которая показывает список во всплывающем блоке
← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить