代码Android开发Android技术知识

KeyboardX - 让你不再对Android键盘高度头疼

2021-11-09  本文已影响0人  Season_zlc

前言

一直以来,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可以很轻松完成表情面板的切换工作,效果如下图:

效果图.gif

具体代码就不做演示了,详情请移步github。

Github地址

上一篇 下一篇

猜你喜欢

热点阅读