Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- fun ViewGroup.onKeyboardStateChanged(activity: Activity, listener: (Boolean) -> Unit) {
- viewTreeObserver.addOnGlobalLayoutListener {
- //Размер экрана
- val screenSize = Point()
- activity.windowManager.defaultDisplay.getSize(screenSize)
- //Размер фрейма, который видит пользователь
- val rect = Rect()
- getWindowVisibleDisplayFrame(rect)
- //Если есть разница -- значит что-то произошло. Вероятно, показалась клавиатура
- val diff = screenSize.y - rect.bottom
- listener.invoke(diff != 0)
- }
- }
Add Comment
Please, Sign In to add comment