Android - обнаружение, открыта ли клавиатура в текущем приложенииAndroid

Форум для тех, кто программирует под Android
Ответить Пред. темаСлед. тема
Anonymous
 Android - обнаружение, открыта ли клавиатура в текущем приложении

Сообщение Anonymous »

В 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
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Android»