首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

隐藏软键盘不能在安卓系统上使用onFocusChangeListener

是因为onFocusChangeListener只能监听焦点的改变,而无法直接控制软键盘的显示与隐藏。要实现隐藏软键盘的功能,可以使用InputMethodManager类来进行操作。

InputMethodManager是Android系统提供的一个用于管理输入法的类,可以通过它来控制软键盘的显示与隐藏。下面是一个示例代码,演示如何隐藏软键盘:

代码语言:txt
复制
// 隐藏软键盘
InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
imm.hideSoftInputFromWindow(view.getWindowToken(), 0);

在上述代码中,view是当前获取焦点的视图,可以是EditText、TextView等具有焦点的视图。通过调用InputMethodManager的hideSoftInputFromWindow方法,传入当前视图的window token和一个标志位,即可隐藏软键盘。

需要注意的是,hideSoftInputFromWindow方法的第二个参数flags是一个标志位,用于指定隐藏软键盘的行为。常用的标志位有0和InputMethodManager.HIDE_IMPLICIT_ONLY。其中,0表示隐藏软键盘,HIDE_IMPLICIT_ONLY表示只在当前焦点视图为EditText时隐藏软键盘。

此外,还可以通过设置EditText的InputType属性来控制软键盘的显示与隐藏。例如,将InputType设置为InputType.TYPE_NULL,即可隐藏软键盘。

综上所述,要在安卓系统上隐藏软键盘,可以使用InputMethodManager类的hideSoftInputFromWindow方法,传入当前获取焦点的视图的window token和相应的标志位。另外,也可以通过设置EditText的InputType属性来控制软键盘的显示与隐藏。

腾讯云相关产品和产品介绍链接地址:

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

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

1.软键盘隐藏问题 问题描述:Activity按下返回调用finish()方法后,界面已经销毁,但是软键盘依然还留在屏幕,这让当前正在显示的Activity没有输入框的完全没法看,非常严重的视觉影响。...尝试方案:寻找各种方法去隐藏软键盘,网上各种找。思路是在活动退出时,会调用onDestroy方法销毁界面,在这个方法里面想办法隐藏界面即可。找到下面这种方法,但还是不行。...还尝试过用基类找到所有edittext然后让它们失去焦点,隐藏软键盘。...<activity Android:windowSoftInputMode="adjustResize" 2.merge标签注意点 merge标签只有在根布局是FrameLayout时才有用,因为所有界面的根布局都是...布局选择 FrameLayout是最简单的一种布局,所有界面的根布局都是FrameLayout,加载速度最快。

1.3K20
  • H5页面软键盘顶起页面底部

    最近在维护一些老的页面,发现有一个解决输入法软键盘导致页面布局异常的写法挺好的,跟大家分享一下1....背景 做过移动端开发的话,大家肯定都遇到过各种移动端的兼容问题,例如IOS的fixed问题,不同系统浏览器API的兼容问题等。...今天我们要讨论的也是一个兼容性问题,当h5页面里遇到输入框的时候,输入法弹出的时候,浏览器会调整布局,导致底部的UI被顶上来,具体如下图图片 这里页面的代码其实很简单,就是一个输入框,一个fixed...或者absolute定位在底部的按钮 ...解决方案 网上有不少解决这个问题的办法,大致的思路就是通过JS监听高度的改变,来确定输入法是不是弹出了,然后对希望展示的内容做特殊的处理。

    4K30

    ios兼容问题及处理(小程序H5)

    微信小程序中new Date()转换时间时间格式时IOS兼容的问题 问题:然后利用new Date() 转换时间戳时,使用微信开发工具、都没问题,ios中无法展示并报错 “invalid date...IOS机型margin属性无效问题 问题: 底部footer设置margin属性的时候发现真机IOS无效,在微信开发者工具/手机/谷歌iphone/机型皆正常 原因: iOS8后,UIView...问题: input输入框在ios中光标及字体居中 原因: 使用line-height垂直居中。.../IOS图片卡顿异形 问题 :上图片会出现卡顿,变形,然后才会显示正常的图片大小 原因: image组件默认宽度300px、高度225px 解决办法: 使用image 标签,尽量固定宽高。...键盘弹出异常 问题: ios键盘弹出会将页面往上顶 显示正常 原因: ios软键盘会使页面的fixed定位失效。

    7.8K71

    微信充值页面开发总结

    开始我是在input的keyup事件里调用,导致用户每输入一个字符就会查询一次,接口调用过多,然后我加了去抖函数,设置在keyup完成1.5s后再调用接口,但是对于复制粘贴的内容无法监听,且 如果使用输入框失去焦点事件...找到了在input外加form标签,使用form的submit事件的方法,可以监听ios软键盘发送按钮,但是不行 $('#form').submit(function (e) { getNick...($('.input').val()) }) 还找到一个监听软键盘隐藏的事件 $(document).on('focusout', function () { 软键盘收起的事件处理 alert...来实测各个键盘对应的值,取得ios和回退键值 8 ,下一步按键值9,ios前往按键值13,区分判断 / 监听软键盘 keycode 回退8 下一步9 ios前往13 $(document...modal').hide() $('.overlay').hide() }) 另外,调用微信支付可以用WeixinJSBridge.invoke,也可以引入wxsjsdk,两种方法目前都可以使用

    2K10

    移动端那些戳中你痛点的软键盘问题及解决方法

    (对于这点,ios本身是支持的,但是却并不会主动让输入框出现在可视区域内) 4、对于部分ios系统下的部分微信webview内,发现软键盘收起时,滚动上去的页面没有滚动下来,造成了下面区域留出了一片灰色的区域...先要弄懂的问题 解决这些问题之前,需要弄明白以下2个问题: 1、当键盘弹起来的时候,会发生什么 这里ios和系统下表现的并不一致。...变成如下设计,就能够使用jsb能力写header了。 ? 衍生问题: 但这样引出了一个新的问题:在系统下的app端,会有底部按钮被遮挡的问题。 GIF 如下: ?...衍生问题解决办法 之前header头用的是前端自己写的header时,没有这个问题,推测是因为手机在键盘弹起时的webview高度缩短为整个屏幕的高度减去键盘的高度, 在之前的实现中,由于使用沉浸式... ?

    8.5K30

    【Android TV 开发】焦点处理 ( 父容器与子组件焦点获取关系处理 | 不同电视设备的兼容问题 | 触摸获取焦点 | 按键获取焦点 )

    Android TV 开发系列文章目录 【Android TV 开发】电视调试 ( 开启网络远程调试 ) 【Android TV 开发】焦点处理 ( 父容器与子组件焦点获取关系处理 | 不同电视设备的兼容问题...---- 在布局文件中 , 父容器的节点中使用 android:descendantFocusability 属性 , 用于设置 父容器 与 子组件 之间的 焦点获取先后顺序 ; <ScrollView...android:descendantFocusability 属性 ; 三、按键获取焦点 ---- 按键获取焦点 : 在手机上按键获取焦点已经不常用 , 使用遥控器 / 手柄 控制界面需要关注该操作...true" Button , TextView , 布局组件 , 等默认没有触摸焦点 , 因为这些组件可能用于点击事件 , 如果这些组件可获取焦点 , 用户点击这些组件后 , 要先获取焦点 , 触发 OnFocusChangeListener...回调 , 获取焦点后才能进行点击 ; EditText 默认自动获取焦点 , 并且进入界面抢先获取焦点 , 该组件需要有光标 , 并且弹出软键盘 ;

    3.2K40

    【H5】344- 微信 H5 页面兼容性解决方案

    MDN是这样定义的: -webkit-overflow-scrolling 属性控制元素在移动设备是否使用滚动回弹效果. auto: 使用普通滚动, 当手指从触摸屏移开,滚动会立即停止。...问题详情描述: 微信H5弹出软键盘后挡住input输入框,如下左图是期待唤起键盘的时候样子,右边是实际唤起键盘的样子 ?...延时0.5秒,因为调用键盘有一点迟钝,导致如果延时处理的话,滚动就失效了 changefocus(){ let u = navigator.userAgent, app = navigator.appVersion...但如果该元素已经在浏览器窗口的可见区域内,则不会发生滚动 5、Vue中路由使用hash模式,开发微信H5页面分享时在设置分享成功,但是ios的分享异常 问题详情描述: ios当前页面分享给好友...,点击进来是正常,如果二次分享,则跳转到首页;使用vue router跳转到第二个页面后在分享时,分享设置失败;以上分享都是正常 ?

    2.7K30

    微信 H5 页面兼容性解决方案

    MDN是这样定义的: -webkit-overflow-scrolling 属性控制元素在移动设备是否使用滚动回弹效果. auto: 使用普通滚动, 当手指从触摸屏移开,滚动会立即停止。...问题详情描述: 微信H5弹出软键盘后挡住input输入框,如下左图是期待唤起键盘的时候样子,右边是实际唤起键盘的样子 ?...0.5秒,因为调用键盘有一点迟钝,导致如果延时处理的话,滚动就失效了 changefocus(){ let u = navigator.userAgent, app = navigator.appVersion...但如果该元素已经在浏览器窗口的可见区域内,则不会发生滚动 5、Vue中路由使用hash模式,开发微信H5页面分享时在设置分享成功,但是ios的分享异常 问题详情描述: ios当前页面分享给好友,...点击进来是正常,如果二次分享,则跳转到首页;使用vue router跳转到第二个页面后在分享时,分享设置失败;以上分享都是正常 ?

    3.3K30

    android基础

    TableLayout 标签布局 TabLayout AndroidMannifest.xml文件application android:allowBackup=”true”属性; 开始google针对系统和应用开启了一个备份的功能...如果设置为true,targetSdkVersion设置为17或更高,各种RTL的API将被激活,系统使用您的应用程序可以显示RTL布局。...,系统将选择一个合适的状态或依赖于主题的设置 【B】stateUnchanged:当这个activity出现时,软键盘将一直保持在上一个activity里的状态,无论是隐藏还是显示 【C】stateHidden...:用户选择activity时,软键盘总是被隐藏 【D】stateAlwaysHidden:当该Activity主窗口获取焦点时,软键盘也总是被隐藏的 【E】stateVisible:软键盘通常是可见的...【F】stateAlwaysVisible:用户选择activity时,软键盘总是显示的状态 【G】adjustUnspecified:默认设置,通常由系统自行决定是隐藏还是显示 【H】adjustResize

    77420

    H5页面前端开发常见的兼容性问题解决方法

    IOS系统下输入框光标高度不正常 问题描述:input输入框光标,在手机上显示没有问题,但是在苹果手机上当点击输入的时候,光标的高度和父盒子的高度一样,看起来很怪异。...MDN是这样定义的: -webkit-overflow-scrolling 属性控制元素在移动设备是否使用滚动回弹效果。 auto:使用普通滚动, 当手指从触摸屏移开,滚动会立即停止。...弹出的键盘遮盖文本框 问题描述:微信H5弹出软键盘后挡住input输入框,看不到输入的字符。如下左图是期待唤起键盘的时候样子,右边是实际唤起键的样子。...解决办法:给input和textarea标签添加focus事件,先判断是不是手机下的操作,当然,也可以不用判断机型,Document 对象属性和方法setTimeout延时0.5秒,因为调用键盘有一点迟钝...题外话:如果能用小程序写的页面,尽量小程序吧,H5开发在微信开发者工具里看页面效果可能看不出问题,因为不能唤起软键盘

    2.8K10

    微信H5页面兼容性解决方案

    MDN是这样定义的: -webkit-overflow-scrolling 属性控制元素在移动设备是否使用滚动回弹效果. auto: 使用普通滚动, 当手指从触摸屏移开,滚动会立即停止。...问题详情描述: 微信H5弹出软键盘后挡住input输入框,如下左图是期待唤起键盘的时候样子,右边是实际唤起键盘的样子 ?...延时0.5秒,因为调用键盘有一点迟钝,导致如果延时处理的话,滚动就失效了 changefocus(){ let u = navigator.userAgent, app = navigator.appVersion...但如果该元素已经在浏览器窗口的可见区域内,则不会发生滚动 5、Vue中路由使用hash模式,开发微信H5页面分享时在设置分享成功,但是ios的分享异常 问题详情描述: ios当前页面分享给好友,点击进来是正常...,如果二次分享,则跳转到首页;使用vue router跳转到第二个页面后在分享时,分享设置失败;以上分享都是正常 ?

    3.4K43

    如何写最高端的代码?Facebook教你怎样用机器学习做最美的代码搜索工具

    例如,对于「如何以编程方式关闭或隐藏软键盘?」这类问题,工程师可以从 Stack Overflow 等常用网站上获取可用信息。...结果表明,这两个模型可以正确回答该数据集中的问题,如: 如何关闭/隐藏软键盘? 如何在中将位图转换为可画的? 如何删除一整个文件夹及其内容? 如何处理 back button?...如下图示例所示,关于如何关闭/隐藏软键盘有两个不同的方法。由于它们共享类似的语义,因此即使它们代码行不完全相同,它们在向量空间中的位置彼此接近。 ?...搜索检索 搜索查询可以用自然语言表达,例如「关闭/隐藏软键盘」或「如何建立一个没有标题的对话框」。研究人员使用同样的方式对查询和源代码执行分词,且使用同样的 fastText 词嵌入矩阵 T。...下面是 NCS 回答很好的一个问题示例:「从 app 中打开市场」,NCS 返回的第一个答案如下所示: private void showMarketAppIn() { try { startActivity

    1.1K31

    Android富文本开发

    LayoutTransition简单介绍 LayoutTransition类实际Android系统中的一个实用工具类。...如果不做任何处理,系统默认的是,进入页面,第一个输入框自动获取焦点软键盘自动弹出,这种用户交互方式,往往不是产品想要的,往往会提出以下优化需求: 需求1:editText获取焦点,但是弹出软键盘(也就是说光标显示第一个输入框...stateUnspecified-未指定状态:软件默认采用的交互方式,系统会根据当前界面自动调整软键盘的显示模式。...stateUnchanged-不改变状态:当前界面软键盘状态由上个界面软键盘的状态决定; stateHidden-隐藏状态:进入页面,无论是否有输入需求,软键盘隐藏的,但是如果跳转到下一个页面软键盘是展示的...stateAlwaysHidden-总是隐藏状态:当设置该状态时,软键盘总是被隐藏,和stateHidden不同的是,当我们跳转到下个界面,如果下个页面的软键盘是显示的,而我们再次回来的时候,软键盘就会隐藏起来

    8.5K20

    挥别web移动端开发差异和经典坑

    . auto: 使用普通滚动, 当手指从触摸屏移开,滚动会立即停止。...解决: fastclick可以解决在手机上点击事件的300ms延迟 zepto的touch模块,tap事件也是为了解决在click的延迟问题 iOS拉边界下拉出现空白,无 描述:手指按住屏幕下拉,...手指按住屏幕拉,底部多出一块白色区域。无此特性。 在 iOS 中,手指按住屏幕上下拖动,会触发 touchmove 事件。...时间:201908 部分机器点击键盘发送相同内容 描述:部分机,如oppo 快速点击键盘发送,会发出2条一样的内容,防抖与节流均不生效; 时间:201907 微信公众号 在微信授权回调带#...解决方法: 刷新需要跳转到的URL,可使用PHP的Header跳转,默认header是刷新的。

    2.9K20

    Input被软键盘遮住

    在业务开发过程中,移动端输入框被软键盘遮住的情况还是很容易出现的。在不同手机不同系统都有可能出现。...这边提一下踩过的坑,如果是scrollIntoView和scrollIntoViewIfNeeded,在移动端会有兼容的情况。如果是计算scroll,在定位fixed弹窗上滚动不了。...最简单的方法是使用定位。在聚焦的时候给这个输入框添加定位fixed,然后设置bottom 0。因为软键盘弹出之后对于可视窗口来说是要扣除软键盘的高度。...这个方法很简单,但是会出现一点小问题,那就是手机使用自带返回键的时候input还是聚焦状态。...,那么就要循环去判断,不过暂时没遇见很多歌input元素使用的情况,所以没去研究。

    1K10

    收藏 | 移动端H5开发常用技巧总结

    name="format-detection" content="telephone=no" /> 开启识别 123456 邮箱识别(Android) 上会对符合邮箱格式的字符串进行识别...important; } android系统中元素被点击时产生边框 部分android系统点击一个链接,会出现一个边框或者半透明灰色遮罩, 不同生产商定义出来额效果不一样。...内部元素超出 body 即产生滚动,超出的部分 body 隐藏。...ontouchend onclick audio 和 video 在 ios 和 andriod 中自动播放 这个不是bug,由于自动播放网页中的音频或视频,会给用户带来一些困扰或者不必要的流量消耗,所以苹果系统系统通常都会禁止自动播放和使用...0) } }) onkeyUp 和 onKeydown 兼容性问题 IOS 中 input 键盘事件 keyup、keydown、等支持不是很好, 用 input 监听键盘 keyup 事件,在手机浏览器中没有问题

    4.2K20

    微信小程序解决ios页面上推问题

    相信大家写原生小程序都遇到过一个问题,当输入框聚焦键盘弹起时,页面会自动上推,使得输入框刚好位于键盘之上,在中推动的只是内容,但在ios中,推动的是整个页面,导致导航栏被推出屏幕外,如下:图片针对这个问题...restHeight = windowHeight - height; // 元素左下角坐标 let bottom = res.bottom; // 只有当元素被软键盘覆盖的时候才推页面...另外,这里可以根据实际情况来做个判断,一般情况下,我们可以直接使用原生的推动,即adjust-position为true,ios使用手动上推。...2:某些特殊情况,可以将textarea隐藏,不要在键盘弹起时让input和textarea同时存在页面中,那么input的键盘事件触发后,可能依然会触发textarea的事件,但这个时候由于textarea...隐藏了,获取的键盘高度为0,所以还是会以input的键盘事件为准4、问题:bindkeyboardheightchange会触发多次,某些特殊情况中,每次的高度获取不一致,导致滚动多次解决1:使用方案二解决

    5.5K30
    领券