最近在写一个聊天APP,遇到了个问题,当在文本框输入文字后,点击旁边的发送按钮,因为EditText失去焦点而关闭软键盘。为了解决这个问题,Google了半天无果,一开始的解决办法是点击按钮后,重新弹出软键盘
InputMethodManager imm = (InputMethodManager) getSystemService(INPUT_METHOD_SERVICE);
imm.toggleSoftInput(0, InputMethodManager.HIDE_NOT_ALWAYS);
这个方法有个缺点,就是软键盘关闭再重新打开会出现闪烁,影响体验。后来在stackoverflow的站内搜索找到了方法。在按钮的OnClick中加入如下代码,editInput就是文本框
InputMethodManager imm = (InputMethodManager) getSystemService(INPUT_METHOD_SERVICE);
imm.showSoftInput(edtInput, InputMethodManager.SHOW_FORCED);
edtInput.requestFocus();
这样就可以像微信那样,点击发送软键盘也不会关闭
stackoverflow原帖:点击打开链接
本文详细介绍了在开发聊天APP时遇到的一个技术难题:如何避免在点击发送按钮后,文本框失去焦点导致软键盘关闭,影响用户体验。通过在按钮的OnClick事件中加入特定代码,实现了在发送消息后软键盘仍保持打开状态,类似微信的交互体验。文中还提供了解决方法的详细步骤和效果展示。
3346

被折叠的 条评论
为什么被折叠?



