下面输入框在界面的中间位置,点击输入框弹出输入法键盘,如果此时表情键盘打开要收回表情键盘;点击笑脸图标弹出表情键盘,如果此时输入法键盘打开则要收回输入法键盘;
由于点击输入框输入法键盘是自动弹出的,因此我们要在点击输入框时收到通知来根据需要收回表情键盘;
第一种方法:
EditText设置setOnFocusChangeListener,点击笑脸时让EditText失去焦点,点击EditText时其自动获得焦点,我们即可在OnFocusChangeListener里收回表情键盘;
其在页面里只有一个输入框时可以满足需求;但在页面里有多个输入框时,如果带有表情的输入框在页面中下部时,表情键盘会遮住输入框,用户体验太差;
第二种方法:
设置EditText的setOnTouchListener,在里面关闭表情键盘即可;点击笑脸时关闭输入法键盘即可;完美达到预定效果。
表情键盘为什么会遮住输入框尼?
经分析和论证,是因为在页面布局改变时,有焦点的控件时不会被遮挡的,例如点击EditText弹出输入法键盘;
系统输入法弹出时输入框中焦点下面的行会被软键盘遮住,怎么才能让输入框整个露出来尼?
在页面中加入ScrollView,调用其smoothScrollTo滚动至输入框顶部;效果如下:
本文探讨了在移动应用开发中,如何优化输入框与输入法键盘及表情键盘之间的交互体验,提出了两种实用的方法,并解决了表情键盘遮挡输入框的问题。
3205

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



