• Stars
    star
    285
  • Rank 145,115 (Top 3 %)
  • Language
    Kotlin
  • License
    Apache License 2.0
  • Created over 2 years ago
  • Updated about 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Android软键盘遮挡/平滑动画最佳解决方案 Solution for keyboard cover in/smooth animation

Android软键盘最佳解决方案

下载体验


不同于其他同类型框架, 本框架使用Android11推出的新功能WindowInsetsAnimation来解决软键盘相关问题, 具备软键盘平滑过渡动画(部分机型可能不支持), 提供更准确的软键盘Api以及软键盘遮挡解决方案


如果遇到机型兼容问题请反馈或者发起修复PR

欢迎贡献代码/问题

特点

  • 软键盘显示隐藏使用平滑动画过渡
  • 指定视图悬浮于软键盘上
  • 更准确的软键盘高度/显示隐藏监听
  • 指定监听输入框
  • 显示/隐藏软键盘
  • 支持对话框
  • 更简单易用的方法

使用

监听键盘显示或者指定视图悬浮于软键盘上只需要一个方法

本方法支持Activity/Fragment/Dialog/DialogFragment/BottomSheetDialogFragment

setWindowSoftInput(
    float = llInput,
    onChanged = {
        Log.d("SoftInput", "visibility = ${hasSoftInput()}")
    }
)
方法 描述
setWindowSoftInput 软键盘遮挡/监听显示隐藏
showSoftInput/hideSoftInput 显示隐藏软键盘
hasSoftInput 当前是否有软键盘
getSoftInputHeight 当前软键盘高度

安装

添加远程仓库根据创建项目的 Android Studio 版本有所不同

Android Studio Arctic Fox以下创建的项目 在项目根目录的 build.gradle 添加仓库

allprojects {
    repositories {
        // ...
        maven { url 'https://jitpack.io' }
    }
}

Android Studio Arctic Fox以上创建的项目 在项目根目录的 settings.gradle 添加仓库

dependencyResolutionManagement {
    repositories {
        // ...
        maven { url 'https://jitpack.io' }
    }
}

然后在 module 的 build.gradle 添加依赖框架

implementation 'com.github.liangjingkanji:soft-input-event:1.0.9'

License

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

More Repositories

1

DrakeTyporaTheme

十二种主题风格 - Material Google JetBrains Vue Juejin Purple Ayu Dark
CSS
2,890
star
2

BRV

[使用文档] Android 快速构建 RecyclerView, 比 BRVAH 更简单强大
Kotlin
2,571
star
3

Net

Android 基于协程/OkHttp网络请求工具
Kotlin
1,852
star
4

StateLayout

🍘 Android上最强大的缺省页框架
Kotlin
636
star
5

spannable

Android最好的Spannable富文本工具, 唯一支持正则匹配/图文混排/图标/GIF动画/自定义表情包
Kotlin
580
star
6

Channel

🍯 LiveData / Coroutine / Lifecycle / EventBus 特性的事件总线框架
Kotlin
375
star
7

StatusBar

[开发必备] Android一行代码配置透明状态栏
Kotlin
296
star
8

Serialize

🍒 Android 简单高性能读写本地数据, 直接存储对象/基础类型
Kotlin
239
star
9

Engine

Android跨业务终端基础组件
Java
167
star
10

Interval

Android计时器工具, 倒计时/正计时/开始/暂停/继续/结束/取消
Kotlin
160
star
11

Tooltip

🍞 Android 快速创建吐司/对话框 Quick crete Toast or Dialog
Kotlin
117
star
12

Resume-Template

使用主题生成网页/PDF/Word/PNG/Html的简历
HTML
108
star
13

LogCat

🐞 Android Logcat 日志工具
Kotlin
84
star
14

liangjingkanji

个人主页
47
star
15

Net-okhttp3

本仓库仅为Net支持 Android 5 (API level 21) 以下, 点击以下链接访问主仓库
Kotlin
41
star
16

RxBus

🍾 标签/线程/Kotlin/自动注销的RxBus
Kotlin
26
star
17

AxureMobileLibrary

🥒 Axure 移动端低保真元件库, 具备交互效果
26
star
18

FlycoTabLayout

FlycoTabLayout是Android上最好的TabLayout(本库仅为Fork)
Java
24
star
19

AutoDispose

🥔 一个函数自动解绑RxJava订阅, 比RxLifeCycle更简单
Kotlin
22
star
20

PTCode

Ligatures font for PT Mono
22
star
21

Wechat-MVVM

Android仿微信的MVVM示例项目
Kotlin
15
star
22

JetBrainsMono-Patch

JetBrains Mono modify characters or default features
Kotlin
14
star
23

PlexMono

Ligatures for IBM Plex Mono
12
star
24

DarculaXcodeTheme

🥝 Darcula theme for Xcode 完美复刻JetBrains的暗色主题配色
10
star
25

SougouSkin

🥥 搜狗输入法简洁皮肤 for Mac
9
star
26

document

5
star
27

RefreshLayout

解决SmartRefreshLayout的一些问题
Java
4
star
28

Cascadia-Code-Patch

cascadia-code modify characters
3
star