ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

如何一行代码显示和隐藏软键盘:Longan的Keyboard工具实战教程

如何一行代码显示和隐藏软键盘:Longan的Keyboard工具实战教程 如何一行代码显示和隐藏软键盘Longan的Keyboard工具实战教程【免费下载链接】LonganProbably the best Kotlin utils library for Android. (可能是最好用的 Kotlin 工具库)项目地址: https://gitcode.com/gh_mirrors/lo/Longan在 Android 开发中软键盘的显示与隐藏是输入场景的高频操作。Longan 是一个 Kotlin 编写的 Android 工具库它通过 5 个简洁的 View 扩展函数让显示键盘、隐藏键盘、切换键盘状态、判断键盘是否可见、获取键盘高度都只需一行代码。⌨️ 什么是 Longan Kotlin 工具库Longan 是一个号称最好用的 Kotlin 工具库的 Android 开发效率神器目前内置超过500 个常用方法或属性覆盖 Activity、Fragment、系统栏、权限、剪贴板、下载等开发日常。它的核心设计理念是用 Kotlin 的扩展函数和属性委托把繁琐的系统 API 压缩成一行简洁、无歧义的调用命名参考官方 KTX 规范上手几乎零成本。键盘工具就是它简洁易用的典型代表实现源码位于longan/src/main/java/com/dylanc/longan/Keyboard.kt。 传统方式处理软键盘有多麻烦在引入 Longan 之前一行代码控制键盘几乎不可能常见做法都伴随着一堆样板代码显示键盘需要InputMethodManager单例 View.requestFocus() 设置 input flags还要处理兼容逻辑隐藏键盘要先取到当前焦点视图可能为 null再调用hideSoftInputFromWindowtoken 获取失败就白忙判断键盘是否可见旧方案靠监听ViewTreeObserver或测量WindowInsetsAndroid 11API 30之后这套写法还被官方标记废弃获取键盘高度通常需要自己写一个全屏透明 View 做探针计算窗口与可见区域的高度差。更头疼的是 Android 11 起系统键盘被视为系统窗口的一部分旧 API 陆续失效——而 Longan 底层直接使用WindowInsetsControllerCompat和rootWindowInsetsCompat天然兼容新旧版本把版本适配的坑一次性填平。 一行代码搞定键盘5 个核心 APILongan 的键盘扩展函数全部直接挂在View上拿到任意视图即可调用调用作用典型场景edtName.showKeyboard()显示软键盘进入表单页自动弹起键盘edtName.hideKeyboard()隐藏软键盘点击完成后收起键盘edtName.toggleKeyboard()切换显示状态点击自定义键盘按钮edtName.isKeyboardVisible判断键盘是否可见拦截返回键先收键盘edtName.keyboardHeight获取键盘高度像素自定义底部面板避让 实战3 个最常见的键盘处理技巧技巧一点击按钮收起键盘输入完成时用户习惯点保存按钮此时键盘应自动收起露出被遮挡的内容btnSave.setOnClickListener { edtName.hideKeyboard() // 一行收起软键盘 saveContent() }技巧二拦截返回键先收键盘再退出这是体验最好的经典细节——按系统返回键时若键盘还开着优先收起键盘而不是直接退出页面override fun onBackPressed() { if (edtName.isKeyboardVisible) { edtName.hideKeyboard() // 第一次按收键盘 } else { super.onBackPressed() // 第二次按正常返回 } }技巧三自定义键盘开关键在输入框旁放一个小按钮点击即可开关键盘适合键盘弹起后按钮被遮挡的页面btnToggle.setOnClickListener { edtName.toggleKeyboard() // 一行完成开了就关、关了就开 }再配合isKeyboardVisible属性还可以动态切换按钮图标键盘图标 ⇄ 收起图标逻辑清晰且无需任何额外状态变量。 进阶一行代码获取键盘高度keyboardHeight属性直接返回当前键盘的高度像素未显示时返回 -1。适合做自定义输入面板避让比如val height edtName.keyboardHeight if (height 0) { // 键盘弹起调整自定义底部面板位置 }这比手写探针 View测量窗口的方案要省心得多也不存在监听时机问题。 快速安装3 步接入项目第 1 步在根目录build.gradle中配置仓库allprojects { repositories { maven { url https://www.jitpack.io } } }第 2 步在模块的build.gradle中添加依赖dependencies { implementation com.github.DylanCaiCoding.Longan:longan:1.1.1 }第 3 步在 Kotlin 文件中import com.dylanc.longan.*后即可使用全部键盘扩展。如果你还想顺便体验 Snackbar 弹窗、底部导航、沉浸式状态栏等设计组件可再引入可选模块longan-design。 延伸阅读键盘文档与完整 API 列表键盘用法官方文档docs/usage/keyboard.md键盘功能源码longan/src/main/java/com/dylanc/longan/Keyboard.kt完整 API 一览表含 Keyboard 章节docs/apis/commonapis.md可运行示例工程输入框相关sample/src/main/java/com/dylanc/longan/sample/ui/InputTextActivity.kt 小结Longan 的 Keyboard 工具用 5 个一行可调用的扩展函数覆盖了软键盘管理的全部常见需求显示、隐藏、切换、可见性判断、高度获取并且底层基于现代 Inset 体系天然兼容各版本 Android。对于新手来说它把键盘操作从查文档拼样板代码变成了一个方法名直接写对于老手它则是一套命名统一、无歧义、可直接替换旧方案的标准姿势。把它加进项目键盘相关的代码量至少减少 80%。【免费下载链接】LonganProbably the best Kotlin utils library for Android. (可能是最好用的 Kotlin 工具库)项目地址: https://gitcode.com/gh_mirrors/lo/Longan创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表