# KeyboardSwitch **Repository Path**: donghuadong/KeyboardSwitch ## Basic Information - **Project Name**: KeyboardSwitch - **Description**: 解决键盘和面板切换闪屏问题 - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2021-07-31 - **Last Updated**: 2021-08-27 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 键盘面板切换屏幕闪烁解决方案使用说明 ## 1. 基本配置 ### 1.1 引入依赖 ``` allprojects { repositories { ... maven { url 'https://jitpack.io' } } } ``` ``` dependencies { ... implementation 'com.gitee.donghuadong:KeyboardSwitch:1.0.4' } ``` ### 1.2 activity设置为adjustResize ``` ``` ### 1.3 父布局使用KeyBoardLayout ``` <上方可滚动布局> <自定义键盘布局> <输入框布局/> <面板容器布局> <表情面板/> <更多功能面板/> ``` ### 1.3 键盘布局参数设置 ``` // 1.绑定面板容器布局(所有面板的父容器) keyBoardLayout.keyBoardDriver.panelView = panel // 2.设置关联View控制器 keyBoardLayout.keyBoardDriver.kbViewController = object : KeyboardViewController { override fun scrollViewToBottom() { //上方滚动布局滚动到底部的实现方法(可以是scrollview或recycleview等) scrollView.fullScroll(ScrollView.FOCUS_DOWN) } override fun hideAllChildView() { //隐藏所有面板布局 //键盘显示后,会自动调用该方法 //防止收起键盘后,自定义面板自动显示 emojiView.visibility = View.GONE moreFunctionView.visibility = View.GONE } } ``` ## 2.只有一个面板的场景 ``` switchEmoIV.setOnClickListener { keyboardLayout.keyBoardDriver.switch(editText = inputET, showChildView = emojiView) } ``` ## 3.存在多个面板的场景 ``` switchEmoIV.setOnClickListener { 1.当前显示其他面板 else if (panel.visibility == View.VISIBLE && moreFunctionView.visibility == View.VISIBLE) { //隐藏其他面板,显示该面板 keyboardLayout.keyBoardDriver.switch(showChildView = emojiView, hideChildView = moreFunctionView) } //2.其他场景 else{ keyboardLayout.keyBoardDriver.switch(editText = inputET, showChildView = emojiView) } } ``` ## 4 效果图 效果图 1 ![image](https://gitee.com/donghuadong/KeyboardSwitch/raw/master/app/screenshoot/01.gif) 效果图 2 ![image](https://gitee.com/donghuadong/KeyboardSwitch/raw/master/app/screenshoot/02.gif) 效果图 3 ![image](https://gitee.com/donghuadong/KeyboardSwitch/raw/master/app/screenshoot/03.gif) 效果图 4 ![image](https://gitee.com/donghuadong/KeyboardSwitch/raw/master/app/screenshoot/04.gif)