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

Функция DropdownMenu

Функция DropdownMenu рисует всплывающий блок Material3 с дочерними элементами, обычно DropdownMenuItem. Видимость задают expanded, закрытие обрабатывают в onDismissRequest. Флаг expanded хранят через remember и mutableStateOf.

Синтаксис

DropdownMenu( expanded = expanded, onDismissRequest = { expanded = false }, ) { DropdownMenuItem(/* ... */) }

Параметры

Параметр Описание
expanded true, пока меню должно быть видно на экране.
onDismissRequest Вызывается при закрытии: нажатие вне меню или выбор пункта. Обычно сбрасывают expanded.
content Лямбда с пунктами меню и другими дочерними элементами.

Пример

Давайте откроем меню с двумя пунктами по кнопке:

import android.os.Bundle import androidx.activity.ComponentActivity import androidx.activity.compose.setContent import androidx.compose.material3.Button import androidx.compose.material3.DropdownMenu import androidx.compose.material3.DropdownMenuItem import androidx.compose.material3.Text import androidx.compose.runtime.getValue import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember import androidx.compose.runtime.setValue class MainActivity : ComponentActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContent { var expanded by remember { mutableStateOf(true) } Button(onClick = { expanded = true }) { Text("abcde") } DropdownMenu( expanded = expanded, onDismissRequest = { expanded = false }, ) { DropdownMenuItem( text = { Text("abcde") }, onClick = { expanded = false }, ) DropdownMenuItem( text = { Text("12345") }, onClick = { expanded = false }, ) } } } }

На экране кнопка и под ней карточка меню с двумя строками "abcde" и "12345".

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

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