xiaocydx / InputView

InputView是一个通用的输入控件

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

InputView是一个通用的输入控件

  • 支持Activity和Dialog。
  • 调整IME高度后运行动画。
  • 可自定义编辑器的切换动画。
  • 可自定义编辑器的View或Fragment。
  • 实现Edge-to-Edge并提供相关的辅助函数。
  • 解决EditText水滴状指示器导致动画卡顿的问题。
  • 修改Android 11及以上IME动画的时长和插值器。
  • 提供Android 11以下Window属性包含FLAG_FULLSCREEN的兼容方案。

IME的全称是Input Method Editors(输入法编辑器),因此将IME和底部视图统一称为Editor(编辑器)。


InputView的使用说明

  1. 在根目录的settings.gradle添加
dependencyResolutionManagement {
    repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
    repositories {
        mavenCentral()
        maven { url 'https://jitpack.io' }
    }
}
  1. 在module的build.gradle添加
dependencies {
    // 修改IME动画的属性、调用FLAG_FULLSCREEN的兼容方案,需要依赖inputview-compat
    def version = "1.1.3"
    implementation "com.github.xiaocydx.InputView:inputview:${version}"
    implementation "com.github.xiaocydx.InputView:inputview-compat:${version}"
}

 

示例代码在Android 12上的效果

切换编辑器和调整IME高度

InputView-Animation.mp4

 

手势导航栏Edge-to-Edge

当前是手势导航栏时,对Emoji编辑器添加paddingBottom和增加高度,滚动时内容绘制在paddingBottom区域,滚动到底部时留出paddingBottom区域,内容不会被手势导航栏遮挡。

InputView-Edge-to-Edge.mp4

 

复杂的切换场景

InputView可用于视频编辑这类复杂的切换场景。

InputView-VideoEdit.mp4

About

InputView是一个通用的输入控件

License:Apache License 2.0


Languages

Language:Kotlin 100.0%