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

Класс FocusRequester

Класс FocusRequester из пакета androidx.compose.ui.focus связывают с полем через модификатор focusRequester. Объект создают через remember и вызывают requestFocus, чтобы клавиатура открылась на нужном OutlinedTextField.

Синтаксис

val focusRequester = remember { FocusRequester() }

Методы

Метод Описание
requestFocus Переводит фокус на элемент с этим requester.

Пример

Давайте сфокусируем поле при старте экрана:

import android.os.Bundle import androidx.activity.ComponentActivity import androidx.activity.compose.setContent import androidx.compose.material3.OutlinedTextField import androidx.compose.runtime.LaunchedEffect import androidx.compose.runtime.getValue import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember import androidx.compose.runtime.setValue import androidx.compose.ui.Modifier import androidx.compose.ui.focus.FocusRequester import androidx.compose.ui.focus.focusRequester class MainActivity : ComponentActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContent { val focusRequester = remember { FocusRequester() } var text by remember { mutableStateOf("abcde") } LaunchedEffect(Unit) { focusRequester.requestFocus() } OutlinedTextField( value = text, onValueChange = { text = it }, modifier = Modifier.focusRequester(focusRequester), ) } } }

На экране поле сразу в фокусе, мигает курсор и может открыться программная клавиатура.

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

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