Android软键盘相关问题

Android软键盘相关问题

一软键盘自动弹出和关闭

  1. 软键盘的自动弹出
    在这里插入图片描述
    虽然上述代码可以使得软键盘自动弹出,但是对于界面比较复杂的情况的时候,软键盘可能无法正常的弹出,需要延迟加载,即在界面加载完成之后弹出软键盘。
    延迟加载可以使用Handler或者定时器schedule来实现。
  2. 软键盘的关闭
    关闭软键盘的代码如下:
    在这里插入图片描述
    在这里插入图片描述

二、进入Activity自动弹出软键盘
为了实现进入某个包含了EditText控件Activity的时候,能够自动的弹出软键盘的需求,可以在AndroidManifest.xml文件中,在对应的Activity的属性中进行如下设置android:windowSoftInputMode = “stateVisible”
具体例子如下:
在这里插入图片描述
在这里插入图片描述

三、自定义Dialog弹出软键盘问题
自定义一个Dialog的时候,若该Dialog包含了一个EditText控件,并且要求当弹出该Dialog时,自动弹出软键盘
对于这个问题,即使EditText获取到了焦点并且使用了一中自动弹出软键盘的代码,依旧无法解决,一个有效的解决方案如下:
在这里插入图片描述
在这里插入图片描述

四、软键盘把某些布局挤上去的问题
Activity中有一个关于软键盘的属性为windowSoftInputMode,其中2个比较重要的是adjustPan和adjustResize。
adjustPan不会把底部的布局给挤上去,例如RelateLayout布局中放到bottom的布局。
adjustResize是自适应,会把底部的挤上去
因此设置Activity的windowSoftInputMode属性为adjustPan,即可解决软键盘把底部布局给挤上去的问题:
在这里插入图片描述

(更多的问题,待日后更新)

猜你喜欢

转载自blog.csdn.net/weixin_38196407/article/details/87864754