首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

Android点击EditText文本框之外任何地方隐藏键盘的解决办法

1,实现方法一:通过给当前界面布局文件的父layout设置点击事件(相当于给整个Activity设置点击事件),在事件里进行键盘隐藏 <LinearLayout xmlns:android="http:...imm.hideSoftInputFromWindow(v.getWindowToken(), 0); break; } } 这样就可以完美的解决了输入框外的<em>隐藏</em>效果...2,实现思路二:通过dispatchTouchEvent每次ACTION_DOWN事件中动态判断非<em>EditText</em>本身区域的点击事件,然后在事件中进行屏蔽。...= null && (v instanceof <em>EditText</em>)) { int[] leftTop = { 0, 0 }; //获取输入框当前的location...&& event.getY() > top && event.getY() < bottom) { // 点击的是输入框区域,保留点击<em>EditText</em>

1.5K80

实现Android键盘的中英文适配

键图标的设置 想象一下,当我们在EditText中完成了输入,想要以输入的内容作为关键字进行搜索,却需要按下“完成”图标的Enter按键,显然这不符合良好的用户体验设计。 ...,系统将选择一个合适的状态或依赖于主题的设置 【B】stateUnchanged:这个activity出现时,软键盘将一直保持在上一个activity里的状态,无论是隐藏还是显示 【C】stateHidden...:用户选择activity,软键盘总是被隐藏 【D】stateAlwaysHidden:该Activity主窗口获取焦点,软键盘也总是被隐藏的 【E】stateVisible:软键盘通常是可见的...【F】stateAlwaysVisible:用户选择activity,软键盘总是显示的状态 【G】adjustUnspecified:默认设置,通常由系统自行决定是隐藏还是显示 【H】adjustResize...方法三: 强制隐藏Android输入法窗口 例如: EditText edit=(EditText)findViewById(R.id.edit); InputMethodManager imm

2.1K10

Android富文本开发

设置了布局动画的ViewGroup添加或者删除内部view就会触发动画。...stateUnchanged-不改变状态:当前界面软键盘状态由上个界面软键盘的状态决定; stateHidden-隐藏状态:进入页面,无论是否有输入需求,软键盘隐藏的,但是如果跳转到下一个页面软键盘是展示的...stateAlwaysHidden-总是隐藏状态:设置该状态,软键盘总是被隐藏,和stateHidden不同的是,当我们跳转到下个界面,如果下个页面的软键盘是显示的,而我们再次回来的时候,软键盘就会隐藏起来...stateVisible-可见状态:设置为这个状态,软键盘总是可见的,即使在界面上没有输入框的情况下也可以强制弹出来出来。...stateAlwaysVisible-总是显示状态:设置为这个状态,软键盘总是可见的,和stateVisible不同的是,当我们跳转到下个界面,如果下个页面软键盘隐藏的,而我们再次回来的时候,软键盘就会显示出来

8.4K20

你从未见过的EditText属性详解

--最大的行数,输入内容超过maxlines,文字会自动向上滚动--> android:singleLine="true" <!...--设置文字过长,该控件该怎样显示,例如设置以下值:"start"省略号显示在开头,"end"省略号显示在结尾,"middle"省略号显示在中间,"marquee"以跑马灯的方式显示(动画横向移动)...); //数字键盘 3.强制显示隐藏键盘 InputMethodManager imm = (InputMethodManager)getSystemService(INPUT_METHOD_SERVICE...); imm.hideSoftInputFromWindow(editText.getWindowToken(), 0); //隐藏键盘 imm.showSoftInput(editText, InputMethodManager.SHOW_FORCED...); //显示软键盘 4.始终不弹出软键盘 //在XML文件中,Edittext父布局上进行如下设置 android:focusable="true" android:focusableInTouchMode

3.2K10

自定义键盘(二)

3.2解决和系统键盘显示冲突 这就需要我们把页面中所有的EditText传递到封装的工具类中,调用这个方法隐藏系统键盘 /** * 隐藏系统键盘 * * @param editText */ public...3.3动态绑定输入框 系统的输入框是EditText获取焦点的时候会弹出来,所以这里我们要给传递进来的EditText设置焦点改变监听,通过焦点改变来显示键盘。...仍然在获取焦点,再次点击这个EditText键盘并未弹出。...rootView.getChildAt(i), "translationY", 0, moveHeight).setDuration(400).start(); } } }复制代码 在键盘隐藏的时候...模式是输入英文字母 android:inputType="number" 复制代码 4.3点击非键盘和焦点区域,让键盘消失 重写activity的方法,然后调用隐藏键盘方法 @Override public

92420

Android开发之如何自定义数字键盘详解

除此之外,我们创建一个函数attachTo(EditText)将EditText与我们自定义的键盘绑定 fun attachTo(editText: EditText) { //如果editText与上次设置的是同一个对象...Log.e(TAG, "attachTo") //根据焦点及点击监听,来显示或者隐藏键盘 onFoucsChange() //隐藏系统键盘 hideSystemSoftKeyboard() //显示自定义键盘...hasFocus && mKeyBoardView.visibility == View.VISIBLE) { //如果当前失去较大,并且当前在键盘正在显示,则隐藏 mKeyBoardView.visibility...再次点击, // 焦点改变函数不会回调,所以在此判断如果隐藏就显示 if (mKeyBoardView.visibility == View.GONE) { mKeyBoardView.visibility...KEYCODE_DONE ,调用hideSoftKeyboard函数隐藏键盘,并执行隐藏动画,动画的xml文件就不在贴出了。

2.9K21

Android开发常用的知识点

键盘的状态(是否它是隐藏或可见)没有被指定。系统将选择一个合适的状态或依赖于主题的设置。...stateUnchanged 主窗口出现在前面,软键盘被保持它上次是什么状态,无论上次是可见或隐藏。...stateHidden 当用户选择该Activity,软键盘隐藏——也就是说,当用户确定导航到该Activity,不管他离开的Activity的软键盘是可见还是隐藏都会被隐藏,不过当用户离开一个...stateAlwaysHidden 该Activity主窗口获取焦点,软键盘总是被隐藏的,不管是确认导航到该Activity还是Activity被覆盖后显示出来。...stateAlwaysVisible 该Activity主窗口获取焦点,软键盘总是显示的,不管是确认导航到该Activity还是Activity被覆盖后显示出来。

2.5K10

实习杂记(27):android的touch Mode

Non-Touch  Mode  就是指键盘出来了,这种状态是非Touch Mode模式 没有键盘的其他所有的操作应该都属于  Touch Mode,比如:点击,拖动,手势滑动,滚动,等等,  大多数...Android设备都是触摸屏的,但是实际上Android设备也支持键盘操作,允许通过键盘来完成导航,点击,输入等。      ...当用户通过键盘(或者轨迹球)操作的时候,有必要聚焦当前接受输入的UI元素,例如,高亮(聚焦)某个按钮,让用户知道当前正在操作的UI元素是哪个。      ...有些UI元素,即使是在Touch Mode的状态之下,也需要获得焦点,典型的就是Edittext。那么,这种情况该如何处理呢?       答案就是做特殊处理。...调用View的setFocusableInTouchMode(true)可以使View在Touch Mode模式之下仍然可获得焦点(像Edittext就是在内部设置了这个属性),调用isFocusableInTouchMode

68120

Android UI开发中所遇到的各种坑

尝试方案:寻找各种方法去隐藏键盘,网上各种找。思路是在活动退出,会调用onDestroy方法销毁界面,在这个方法里面想办法隐藏界面即可。找到下面这种方法,但还是不行。...还尝试过用基类找到所有edittext然后让它们失去焦点,隐藏键盘。...所以在onPasue()方法里隐藏键盘就有效,在onDestroy()方法里不管用任何方法都是无效的。...注意点:用这个隐藏键盘的方法,最好做为空判断,否则有可能会出现空指针的异常,如当前界面没有控件获取焦点,则getCurrentFocus()这个方法得到的是一个null....第二步,布局里加一个scrollview将你要被顶起的视图放进这里,然后键盘显示的时候,就会在scrollview里滚动以获得空间进行显示软键盘

1.3K20

浅谈关于android软键盘弹出问题

); imm.showSoftInput(editText,0); 在正常的一个activity按照上面是可以实现的,但是我遇到的问题是加载数据显示之后点击按钮改变了布局的显示状况,然后再想弹出软键盘...,但是一直无法弹出键盘 通过查阅网上资料,给出的解析是在布局加载的过程中是无法弹出软键盘的,所以需要适当的延迟一下软键盘的弹出 最终代码如下: //获取焦点 editText.setFocusable...(true); editText.setFocusableInTouchMode(true); editText.requestFocus(); //延迟弹出软键盘 Timer timer = new...另附其他软键盘常用方法: 1.如果软键盘已弹出则隐藏,反之弹出....getSystemService(Context.INPUT_METHOD_SERVICE); imm.toggleSoftInput(0, InputMethodManager.HIDE_NOT_ALWAYS); 2.隐藏键盘

1.9K20
领券