Метод hide
Метод hide контроллера из
LocalSoftwareKeyboardController
убирает программную клавиатуру с экрана.
Контроллер читают как current
и вызывают на nullable ссылке.
Часто комбинируют с
clearFocus,
чтобы поле перестало быть активным.
Синтаксис
keyboard?.hide()
Пример
Давайте спрячем клавиатуру после редактирования:
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.LocalSoftwareKeyboardController
class MainActivity : ComponentActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContent {
val keyboard = LocalSoftwareKeyboardController.current
var text by remember { mutableStateOf("12345") }
OutlinedTextField(
value = text,
onValueChange = { text = it },
)
Button(onClick = { keyboard?.hide() }) {
Text("abcde")
}
}
}
}
На экране после нажатия кнопки клавиатура исчезает, поле остаётся видимым.
Смотрите также
-
метод
show,
который снова показывает клавиатуру -
класс
LocalSoftwareKeyboardController,
который даёт current для hide -
метод
clearFocus,
который снимает фокус вместе с hide -
класс
KeyboardOptions,
который настраивает клавиатуру при вводе