В Android мы можем использовать следующий код для определения того, виден ли мягкая клавиатура или нет: < /p>
val rootView = window.decorView.findViewById(android.R.id.content)
ViewCompat.setOnApplyWindowInsetsListener(rootView) { _, insets ->
val isKeyboardVisible = insets.isVisible(WindowInsetsCompat.Type.ime())
if (isKeyboardVisible) {
// TODO
}
}
< /code>
Это обнаруживает видимость клавиатуры, независимо от того, открывается ли она в текущем приложении или в другом приложении (например, в режиме разделенного просмотра). Интересно, можно ли отличить два! class = "Lang-Swift PrettyPrint-Override">NotificationCenter.default.addObserver(
self,
selector: #selector(keyboardWillShow),
name: UIResponder.keyboardWillShowNotification,
object: nil
)
@objc func keyboardWillShow(notification: Notification) {
guard
let visibleInCurrentApp =
notification.userInfo?[UIResponder.keyboardIsLocalUserInfoKey]
as? Bool
else { return }
if visibleInCurrentApp {
// TODO
}
}
Подробнее здесь: https://stackoverflow.com/questions/796 ... urrent-app
Android - обнаружение, открыта ли клавиатура в текущем приложении ⇐ Android
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение