Android软键盘那点事儿
2019-01-28 本文已影响8人
初心一点
软键盘显示原理
- 软件盘的本质是什么?软键盘其实是一个Dialog
- InputMethodService为我们的输入法创建了一个Dialog,并且将该Dialog的Window的某些参数(如Gravity)进行了设置,使之能够在底部或者全屏显示。当我们点击输入框时,系统对活动主窗口进行调整,从而为输入法腾出相应的空间,然后将该Dialog显示在底部,或者全屏显示
软键盘显示调整
- Android定义了一个属性,名字为windowSoftInputMode, 这个属性用于设置Activity主窗口与软键盘的交互模式,用于避免软键盘遮挡内容的问题。我们可以在AndroidManifet.xml中对Activity进行设置。如:android:windowSoftInputMode=”stateUnchanged|adjustPan”。
该属性可选的值有两部分
- 1.1 一部分为软键盘的状态控制,控制软键盘是隐藏还是显示
- 1.2 另一部分是Activity窗口的调整,以便腾出空间展示软键盘
- 很好的几篇文章,可以参考: