Android自定义安全软键盘,完全自定义,方便、安全、可靠
下一步计划:增加换肤、打包发布等功能
详见: Android 自定义安全软键盘 SafeKeyboard 开发详细说明 2.0
- 1 . [修改] 修改
SafeKeyboard
使用EditText.getId()
作为唯一key
确定EditText
可能会出现系统键盘和SafeKeyboard
同时出现的BUG
。 即:include
多次复用同一个布局文件, 存在某个引入的布局文件没有使用SafeKeyboard
时, 会出现该问题。 见issue#23
- 2 . [修改] 修改 部分代码冗余问题.
- 1 . [修改] 修改 SafeKeyboard 无法按键震动的问题, 并优化震动开启逻辑
- 2 . [修改] 修改 未使用
SafeKeyboard
的EditText imeOption
被设置为 "下一项" 时, 点击此按键可能会导致系统软件盘和SafeKeyboard
软键盘同时显示的BUG
. - 3 . [修改] 修改
SafeKeyboard aar
的命名方式, 确定版本号格式
- 1 . [新增] 新增
SafeKeyboardConfig
属性, 所有的键盘配置都在这里个对象里定义, 底层所有可在代码层修改的配置均在SafeKeyboardConfig
中提供配置接口, 详细参考MainActivity
- 2 . [修改] 修改
SafeKeyboard
字母随机功能, 修复上个更新无法切换大小写的问题, 并修改大写未锁定时输入一个大写字母后切换为小写字母时又重复刷新字母位置的问题 - 3 . [适配] 适配
SafeKeyboard
可设置每个EditText
是否开启按键震动
- 1 . [修改] 修改
SafeKeyboard
为Library
(待提供接口以供上层修改必要数据) - 2 . [适配] 适配
AndroidX
- 3 . [新增] 新增 字母键盘随机显示功能, 并修改开启随机的方式, 不直接在
SafeKeyboardView
中设置相关属性
- 1 . 修改
SafeKeyboard
显示后遮住目标EditText
问题 (被遮挡时顶起目标EditText
父View
) 功能实现逻辑, 解决动画效果不尽如人意的BUG
. - 2 . 增加按键震动功能(可选)
- 1 . 解决
SafeKeyboard
在PopupWindow
中显示会崩溃的问题 (关闭按键预览功能即可). 见issue#3
- 2 . 解决
SafeKeyboard
显示后遮住目标EditText
问题 (被遮挡时顶起目标EditText
父View
). 见issue#8
暂时只提供这一种解决方案 ( 尚有改进空间 ) - 3 . 适配
ScrollView
中的EditText
使用SafeKeyboard
功能. 详见: 注意事项 (SafeKeyboard_Note) - 4 . 解决
SafeKeyboard
在AlertDialog
中显示无法点击的问题. 采用DialogFragment
来实现该功能. - 5 . 修改多个
EditText
共用一个SafeKeyboard
时,OnTouch
事件造成SafeKeyboard
显示混乱的 BUG. - 6 . 简化部分 API 调用代码, 并增加一个有数字的字母键盘.
- 1 . 支持多个
EditText
共用一个SafeKeyboard
, 各键盘无缝切换 - 2 . 支持根据不同
EditText
的InputType
默认使用不同的键盘(目前仅支持数字键盘和身份证键盘) - 3 . 支持锁定英文大写
- 4 . 增加两种数字键盘、增加一个身份证键盘, 对两种键盘的数字支持随机显示
- 5 .
SafeKeyboard
提供接口指定显示身份证键盘的EditText
- 6 . 支持记住每个
EditText
对应的上次打开的键盘类型, 再次显示SafeKeyboard
时显示该中类型键盘, 此功能可在SafeKeyboardView
的属性中 打开/关闭 - 7 . 项目本身支持 lambda 表达式
- 1 .
AndroidManifest.xml
文件中添加"android:windowSoftInputMode="stateAlwaysHidden">"
, 兼容低版本系统, 重新进入软件界面系统软键盘自动弹出的问题。 - 2 . 解决特殊键盘图标在不同屏幕上显示变形问题, 不需要手动设置图片显示时与按键边界的边距。
- 3 .
SafeKeyboard
提供接口设置特殊按键的自定义图片