Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

一行代码实现Android软键盘和EditText各种交互

Notifications You must be signed in to change notification settings

Leovy/SoftKeyboardUtil

Repository files navigation

有一个很常见的需求,就是页面中软键盘打开时,希望能点击屏幕其他的任何位置,就能把软键盘给隐藏掉. 比如登录, 注册之类的常见页面. 在实际开发中,很多童鞋是这样做的,通过其他控件的点击事件,在onclick方法中调用隐藏软键盘的方法,从而达到相应效果,但是在页面复杂的时候,要实现的onclick方法会很多,甚至还会有逻辑处理冲突的情况.这样做就显得非常不友好.

SoftKeyboardUtil 通过一行代码实现软键盘与EditText的交互.


原理 : 就是重写Activity的dispatchTouchEvent(MotionEvent ev)方法,全局监听触摸事件, 当点击的页面时,发现如果焦点在EditView上,就把软键盘隐藏,否则就不做处理.

使用: 只要改变return的返回值即可

@Override
public View[] filterViewByIds() {
 return 传入要过滤的View[]
}
@Override
public int[] hideSoftByEditViewIds() {
 
 return 传入页面EditText的id[]
}

喜欢的朋友记得点个Star 具体详情请看文件 博客地址

About

一行代码实现Android软键盘和EditText各种交互

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Java 100.0%

AltStyle によって変換されたページ (->オリジナル) /