Get notified through LiveData when Keyboard is open or closed
The first step is to include KeyboardStateEvents into your project, for example, as a Gradle compile dependency:
implementation 'com.github.guilhe:keyboard-state-events:${LATEST_VERSION}'Call bindKeyboardStateEvents() in you AppCompatActivity or FragmentActivity and observe KeyboardLiveData.state to get notified:
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
...
KeyboardLiveData.state.observe(this, Observer {...})
bindKeyboardStateEvents()
}
}Just that and you're done! 😎
Also, some handy extension functions:
ComponentActivity.toggleKeyboard()
ComponentActivity.dismissKeyboard()
ComponentActivity.isKeyboardOpen()
ViewGroup.isKeyboardOpen()For bugs, questions and discussions please use the Github Issues.
Additional binaries and dependency information for can be found here.
Copyright (c) 2020-present GuilhE
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.

