Метод requestFocus
Метод requestFocus класса
FocusRequester
запрашивает фокус для элемента,
к которому привязан requester модификатором
focusRequester.
Возвращает true, если фокус удалось установить.
Часто вызывают из LaunchedEffect
после показа экрана.
Синтаксис
focusRequester.requestFocus()
Пример
Давайте вызовем requestFocus для OutlinedTextField:
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("12345") }
LaunchedEffect(Unit) {
focusRequester.requestFocus()
}
OutlinedTextField(
value = text,
onValueChange = { text = it },
modifier = Modifier.focusRequester(focusRequester),
)
}
}
}
На экране поле сразу активно, виден курсор
в строке "12345".
Смотрите также
-
класс
FocusRequester,
который создают и вешают на поле -
метод
clearFocus,
который снимает фокус с активного элемента -
метод
show,
который явно показывает клавиатуру -
функция
TextField,
к которой можно запросить фокус так же