前言
一直以来,Android上的键盘一直是个令人头疼的问题,而获取键盘高度更是令人疼上加疼。
为了让Android开发者少掉几根头发,愿天堂没有Android开发,KeyboardX横空出世!
废话少说,上代码:
class MainActivity : AppCompatActivity() {
private val keyboardX by lazy { KeyboardX() }
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
val binding = ActivityMainBinding.inflate(layoutInflater)
setContentView(binding.root)
//监听键盘高度
keyboardX.heightFlow().onEach { height ->
println("Keyboard height is: $height")
}.launchIn(lifecycleScope)
}
}
如你所见,一行代码搞定键盘高度监听问题,并且,不管Activity的 windowSoftInputMode 属性是 adjustNothing 还是 adjustResize,都能监听高度,可以说是全场景覆盖。
表情面板
第二个头疼的问题就是表情面板了,如何能做到和微信一样键盘和表情面板无缝切换,也一直是我们这些底层Android开发者的苦恼,面对产品经理的咄咄逼人,我们只能默默把泪往肚子里咽,
如今,你也可以昂起你高贵的头颅,底气十足的告诉产品:微信能做的,我也可以!!
利用KeyboardX可以很轻松完成表情面板的切换工作,效果如下图:
具体代码就不做演示了,详情请移步github。