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

Класс LocalFocusManager

Объект LocalFocusManager из пакета androidx.compose.ui.platform это composition local для управления фокусом. Текущий менеджер берут через current внутри composable. Метод clearFocus снимает фокус с активного поля, часто вместе со скрытием клавиатуры через LocalSoftwareKeyboardController.

Синтаксис

val focusManager = LocalFocusManager.current

Методы

Метод Описание
clearFocus Снимает фокус с элемента, который сейчас в фокусе.

Пример

Давайте снимем фокус по нажатию кнопки:

import android.os.Bundle import androidx.activity.ComponentActivity import androidx.activity.compose.setContent import androidx.compose.material3.Button import androidx.compose.material3.OutlinedTextField 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 import androidx.compose.ui.platform.LocalFocusManager class MainActivity : ComponentActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContent { val focusManager = LocalFocusManager.current var text by remember { mutableStateOf("abcde") } OutlinedTextField( value = text, onValueChange = { text = it }, ) Button(onClick = { focusManager.clearFocus() }) { Text("12345") } } } }

На экране поле и кнопка, после нажатия кнопки фокус уходит с поля и курсор пропадает.

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

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