SkillAgentSearch skills...

KeyboardListener

:musical_keyboard: 监听Android软键盘弹出与收回事件(并回调"键盘是否弹出"、"键盘高度"、"屏幕可用高度"、"屏幕宽度数值")

Install / Use

/learn @relish-wang/KeyboardListener
About this skill

Quality Score

0/100

Supported Platforms

Universal

README

<img src="./art/title.png" alt="KeyboardListener" height="48" align="bottom" />

banner

facebook/react-native源码中抽离出来的用于监听Android软键盘弹出与收回事件的相关代码。

关于作者

景三,程序员,主要从事Android平台基础架构方面的工作,欢迎交流技术方面的问题,可以去我的Github提issue或者发邮件至relish.wang@gmail.com与我交流。

[TOC]

扫描二维码下载Demo

下载Demo的二维码

<center><strong>KeyboardListener-Demo.apk</strong></center>

一、效果演示

显示底部NavigationBar

<center><strong>图1 显示底部NavigationBar的情况</strong><br>(注意“屏幕可用高度”的数值)</center>

显示底部NavigationBar

<center><strong>图2 隐藏底部NavigationBar的情况</strong><br>(注意“屏幕可用高度”的数值)</center>

二、使用方法

可以直接把DisplayMetricsHolderGlobalLayoutListenerOnKeyboardChangedListener三个文件直接拷贝到你的工程里使用。

rootView.getViewTreeObserver().addOnGlobalLayoutListener(
        new GlobalLayoutListener(rootView, new OnKeyboardChangedListener() {
            /**
             * 键盘事件
             *
             * @param isShow         键盘是否展示
             * @param keyboardHeight 键盘高度(当isShow为false时,keyboardHeight=0)
             * @param screenWidth    屏幕宽度
             * @param screenHeight   屏幕可用高度(不包含底部虚拟键盘NavigationBar), 即屏幕高度-键盘高度(keyboardHeight)
             */
            @Override
            public void onChange(boolean isShow, int keyboardHeight, int screenWidth, int screenHeight) {
                // do sth.
            }
        }));

显示底部NavigationBar

三、更新日志

CHANGELOG.md

四、致谢

感谢facebook/react-native提供代码解决方案。

本仓库使用的react-native相关代码:

Related Skills

View on GitHub
GitHub Stars32
CategoryDevelopment
Updated1y ago
Forks9

Languages

Java

Security Score

65/100

Audited on Oct 22, 2024

No findings