EditTextjh

所属分类:Java编程
开发工具:Java
文件大小:574KB
下载次数:1
上传日期:2020-03-17 16:11:30
上 传 者5467305
说明:  Android 实现软键盘与EditText的交互,效果非常好。
(Android implements the interaction between the soft keyboard and EditText, and the effect is very good.)

文件列表:
LICENSE.txt (11356, 2018-12-22)
LICENSE.txt.bak (0, 2018-12-22)
app (0, 2018-12-22)
app\build.gradle (949, 2018-12-22)
app\proguard-rules.pro (645, 2018-12-22)
app\src (0, 2018-12-22)
app\src\androidTest (0, 2018-12-22)
app\src\androidTest\java (0, 2018-12-22)
app\src\androidTest\java\www (0, 2018-12-22)
app\src\androidTest\java\www\gyx (0, 2018-12-22)
app\src\androidTest\java\www\gyx\com (0, 2018-12-22)
app\src\androidTest\java\www\gyx\com\myapplication (0, 2018-12-22)
app\src\androidTest\java\www\gyx\com\myapplication\ExampleInstrumentedTest.java (754, 2018-12-22)
app\src\main (0, 2018-12-22)
app\src\main\AndroidManifest.xml (876, 2018-12-22)
app\src\main\java (0, 2018-12-22)
app\src\main\java\www (0, 2018-12-22)
app\src\main\java\www\znq (0, 2018-12-22)
app\src\main\java\www\znq\com (0, 2018-12-22)
app\src\main\java\www\znq\com\myapplication (0, 2018-12-22)
app\src\main\java\www\znq\com\myapplication\SplashActivity.java (966, 2018-12-22)
app\src\main\java\www\znq\com\myapplication\extendss (0, 2018-12-22)
app\src\main\java\www\znq\com\myapplication\extendss\BaseActivity.java (3738, 2018-12-22)
app\src\main\java\www\znq\com\myapplication\extendss\MainActivity.java (880, 2018-12-22)
app\src\main\java\www\znq\com\myapplication\fragment (0, 2018-12-22)
app\src\main\java\www\znq\com\myapplication\fragment\ExampleFragment.java (2703, 2018-12-22)
app\src\main\java\www\znq\com\myapplication\proxy (0, 2018-12-22)
app\src\main\java\www\znq\com\myapplication\proxy\ActivityKeyBoardProxy.java (4698, 2018-12-22)
app\src\main\java\www\znq\com\myapplication\proxy\ActivityKeyBoardProxyBuild.java (2029, 2018-12-22)
app\src\main\java\www\znq\com\myapplication\proxy\FragmentOnTouchMng.java (1976, 2018-12-22)
app\src\main\java\www\znq\com\myapplication\proxy\ProxyModeActivity.java (1941, 2018-12-22)
app\src\main\java\www\znq\com\myapplication\proxy\ProxyModeFragmentActivity.java (1989, 2018-12-22)
app\src\main\java\www\znq\com\myapplication\util (0, 2018-12-22)
app\src\main\java\www\znq\com\myapplication\util\ActivityUtil.java (1099, 2018-12-22)
app\src\main\java\www\znq\com\myapplication\util\KeyBoardUtils.java (2048, 2018-12-22)
app\src\main\res (0, 2018-12-22)
... ...

## 通过一行代码实现软键盘与EditText的交互. > **介绍 :** >有一个很常见的需求,就是页面中软键盘打开时,希望能**点击屏幕其他的任何位置,就能把软键盘给隐藏掉.** >比如登录, 注册之类的常见页面. >在实际开发中,很多大佬通过其他控件的点击事件,在onclick方法中调用软键盘的隐藏方法. >在页面复杂的时候,要实现的onclick方法会很多,甚至还会有逻辑处理冲突的情况.这样做就显得非常不友好. ---------- #### 方式一 继承方式 > **原理 :** 怎样封装成一行代码实现,就是重写Activity的dispatchTouchEvent(MotionEvent ev)方法,全局监听触摸事件, 当点击的页面时,发现如果焦点在EditView上,就把软键盘隐藏,否则就不做处理. >**使用:** 只要对应的页面 重写下面一个方法,改变return的返回值即可 ``` @Override public int[] hideSoftByEditViewIds() { return 传入页面EditText的id[] } ``` > 如果要对某些控件进行过滤 ,可以重写 ``` @Override public View[] filterViewByIds() { return 传入要过滤的View[] } ``` #### 方式二 proxy链式调用(由jiiiiiin提供) ``` try { mActivityKeyBoardProxy = ActivityKeyBoardProxyBuild.getInstance() .withActivity(this) .withHideSoftByEditViewIds(new int[]{R.id.et_phone, R.id.et_check_code, R.id.et_city_code}) .withFilterViewByIds(new View[]{mBtnCode}) .withOnHideInputForceListener(new ActivityKeyBoardProxy.OnHideInputForceListener() { @Override public void onHideInputForce(MotionEvent motionEvent) { Log.d(TAG, "隐藏了系统键盘"); } }) .build(); } catch (Exception e) { e.printStackTrace(); Log.e(TAG, e.getMessage()); } ``` ---------- >**修复bug:** 修复连续点击EditText,软键盘会先关闭在打开的问题 ---------- > **效果 :** ![图片](https://github.com/zybieku/SoftKeyboardUtil/blob/master/gif/GIF.gif) ---------- > 由于半年多没写Android,很多代码陌生了,欢迎各位大佬提pull request 喜欢的朋友记得点个Star 具体详情请看主页 [博客地址](http://blog.csdn.net/zybieku/article/details/68925116)

近期下载者

相关文件


收藏者