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

在android中隐藏虚拟键盘?

在Android中隐藏虚拟键盘,可以通过以下方法实现:

  1. 方法一:使用InputMethodManager
代码语言:java
复制
private void hideKeyboard(Activity activity) {
    InputMethodManager imm = (InputMethodManager) activity.getSystemService(Context.INPUT_METHOD_SERVICE);
    View view = activity.getCurrentFocus();
    if (view == null) {
        view = new View(activity);
    }
    imm.hideSoftInputFromWindow(view.getWindowToken(), 0);
}
  1. 方法二:使用View的clearFocus()方法
代码语言:java
复制
private void hideKeyboard(Activity activity) {
    View view = activity.getCurrentFocus();
    if (view != null) {
        view.clearFocus();
        InputMethodManager imm = (InputMethodManager) activity.getSystemService(Context.INPUT_METHOD_SERVICE);
        imm.hideSoftInputFromWindow(view.getWindowToken(), 0);
    }
}
  1. 方法三:在布局文件中使用自定义方法

在布局文件中添加以下代码:

代码语言:xml<EditText
复制
    ...
    android:imeOptions="actionDone"
    android:onClick="hideKeyboard" />

然后在Activity中添加以下方法:

代码语言:java
复制
public void hideKeyboard(View view) {
    InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
    imm.hideSoftInputFromWindow(view.getWindowToken(), 0);
}

以上方法可以帮助您在Android应用中隐藏虚拟键盘。

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

相关·内容

Android开发键盘的显示和隐藏

而很多关键的逻辑代码,都是 InputMethodManagerService 实现的。 特别说明:本文的所有分析的源码,都是基于 Android 26 的源码。... onCreate() ,如果立即调用 showSoftInput() 是不会生效的。...想要在页面一启动的时候就弹出键盘,可以 Activity 上,设置 android:windowSoftInputMode 属性来完成,或者做一个延迟加载,View.postDelayed() 也是一个解决方案...2.4 切换键盘的弹出和隐藏 InputMethodManager ,还提供了一个 toggleSoftInput() 方法,如同它的名字一样,它可以让软键盘在显示和隐藏之间切换。 ?...这就导致很多时候,我们代码,无法直接根据 InputMethodManager 提供的方法判断当前软键盘的显示状态,这样也就无法确定调用它的时候的效果了。

2.4K10

Android点击其他地方隐藏键盘

Android点击其他地方隐藏键盘 1.第一种:隐藏页面一进来EditText获取焦点就弹出软键盘 oncreate()里调用如下方法即可 /** * 隐藏键盘 */...,点击其他空白区域隐藏键盘 此方法可以写到BaseActivity其他Activity就相应的也会继承 @Override public boolean dispatchTouchEvent...return super.dispatchTouchEvent(ev); } /** * 根据EditText所在坐标和用户点击的坐标相对比, * 来判断是否隐藏键盘...,因为当用户点击EditText时则不能隐藏 */ private boolean isShouldHideKeyboard(View v, MotionEvent event) {...这个发生在视图刚绘制完,第一个焦点不在EditText上,和用户用轨迹球选择其他的焦点 return false; } /** * 获取InputMethodManager,隐藏键盘

3K10

Android 开发之Dialog隐藏键盘的正确使用方法

Android 开发之Dialog隐藏键盘的正确使用方法 场景:弹出一个Dialog,里面有一个EditText,用来输入内容,因为输入时,需要弹出键盘,所以当Dialog消失时,键盘要一起隐藏。...也就是说,你监听Cancel或者Dismiss都是不行的,因为此时Dialog已经消失,用于输入的服务窗体已经是null了,所以你要想 隐藏键盘,就需要在Dismiss之前处理,那这个入口在哪呢?...为了当点击空白处时,可以隐藏Dialog,所以我们构造函数中加了一句话 this.setCanceledOnTouchOutside(true); 所以当我们点击空白区域时,会触发Dialog的onTouchEvent...Message.obtain(mCancelMessage).sendToTarget(); } dismiss(); } 这里面就会dismiss掉Dialog,所以我们发现,dismiss...所以我们只能重载onTouchEvent方法,并且自己判断是否可以关闭(也就是把下面代码迁移到你的代码

2K10

Android实现手机游戏隐藏虚拟按键

手机游戏实现Android隐藏虚拟按键,供大家参考,具体内容如下 在华为等型号的手机会有虚拟按键,进入游戏的时候,需要全屏隐藏这个按键,并在下拉状态栏的时候,会重新呼出虚拟按键。...游戏的加载过程,初始化检查更新,然后进入到游戏画面,实际上是android的2个view的切换。 其中MainActivityonCreate()方法添加如下函数并且复写一个方法就可以了。...@Override protected void onCreate(Bundle icicle) { hideNavigationBar(); } // 隐藏虚拟按键 public void hideNavigationBar...hasFocus) { super.onWindowFocusChanged(hasFocus); if( hasFocus ) { hideNavigationBar(); } } 另外,切换到...GameView之后,发现隐藏隐藏了,但是虚拟按键那一条是灰色的,游戏的渲染区域并不包含哪块区域,所以觉得是渲染区域大小隐藏虚拟按键之后,这个大小并没有正确,应该取得的时候屏幕真正的分辨率。

1.4K31

Android点击视图外部,隐藏键盘 及 事件传递机制

前言 在做IM的时候当用户点击输入框外的区域应该隐藏 输入法键盘 或者 其他操作区域 先放上一段代码 放在Activity 所有的EditText外点击都会隐藏键盘 @Override public...v.getWindowToken(), 0); } } } return super.dispatchTouchEvent( event ); } 有时候 我们Activity...添加onTouchEvent方法 然后点击视图 但是就是不触发事件 这是为什么呢 这就要说一下Android的事件机制了 事件机制 Android和事件有关的方法有三个 dispatchTouchEvent...接受上级消息 onInterceptTouchEvent 决策向下级分发还是自身处理 onTouchEvent 自身处理逻辑 Android的分发逻辑和处理逻辑是相反的 dispatchTouchEvent...BView BView包含CView 如果点击CView 如果BView 的 onInterceptTouchEvent 返回true 那么就CView的onTouchEvent就不会触发 会触发BView

1.4K10

Android虚拟导航键的显示隐藏实例

); break; case R.id.full: //隐藏显示系统控件的过程不会来移动我们的控件 v.setSystemUiVisibility(View.SYSTEM_UI_FLAG_LAYOUT_STABLE...,比如状态栏的某些图标,但这个只是系统状态栏、虚拟按键等进入夜间模式,app内部的控件并不会进入夜间模式,这个以后有时间再研究怎么应用内部实现夜间模式。...2.View.SYSTEM_UI_FLAG_HIDE_NAVIGATION,设置这个Flag可以是虚拟按键进行动态的显示和隐藏,因为虚拟按键会占用屏幕控件,所以虚拟按键的显示和隐藏可能会影响到你的控件在当前界面的位置...打开可以看到qemu.hw.mainkeys=1 或者qemu.hw.mainkeys= 0,当qemu.hw.mainkeys=1时实体键盘起效,qemu.hw.mainkeys=0时,显示虚拟键盘,...以上这篇Android虚拟导航键的显示隐藏实例就是小编分享给大家的全部内容了,希望能给大家一个参考。

1.7K20

使用DNSStagerDNS隐藏Payload

关于DNSStager DNSStager是一个基于Python开发的开源项目,可以帮助广大研究人员使用DNS来隐藏和传输Payload。...DNSStager可以创建一个恶意DNS服务器,并负责处理我们域名相关的DNS请求,然后将Payload隐藏在响应的指定记录请求,比如说“AAAA”记录或“TXT”记录,而且DNSStager还会使用各种不同的算法来对...因此,代理将会解析某些域名来获取Payload,然后对其进行解码,最终将其注入至内存。...DNSStager核心功能 IPv6记录隐藏和解析Payload; TXT记录隐藏和解析Payload; 使用异或编码器编码Payload; 使用Base64编码器编码Payload; 纯C开发的代理...,支持自定义配置; 纯Golang开发的代理,支持自定义配置; 支持每个DNS请求间隔一定休眠时间; 更多功能即将上线… 工具要求 我们可以使用下列命令来安装DNSStager所需的Python依赖:

1.1K20

Android编程之ListView和EditText发布帖子隐藏键盘功能详解

本文实例讲述了Android编程之ListView和EditText发布帖子隐藏键盘功能。...分享给大家供大家参考,具体如下: Android开发,手动调用软件盘的隐藏和显示有时候也是非常常见的需求。 EditText控件实现了点击打开软键盘输入功能,but why ?...(PS:之前也纠结过这个问题,adjustResize属性导致底部的Edit没有跟着keyboard移动,而是等keyboard打开后Editlayout到合适的位置了。...mEditTouchedFlag) setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_FULL_SENSOR); //键盘隐藏...更多关于Android相关内容感兴趣的读者可查看本站专题:《Android控件用法总结》、《Android开发入门与进阶教程》、《Android视图View技巧总结》、《Android编程之activity

1K20

Android隐藏和沉浸式虚拟按键NavigationBar的实现方法

有的时候我们在做全屏显示或者视频全屏播放时候,有些手机有底部的虚拟按键,如下图所示: ? 开发我们会遇到需要隐藏虚拟按键或者沉浸式虚拟按键的需求。 ? 上图为沉浸式虚拟按键效果。 ?...上图为隐藏虚拟按键效果。...你也需要确保Action Bar和其他系统UI控件同时进行隐藏。下面这段代码展示了如何在不改变内容区域大小的情况下,隐藏与显示状态栏和导航栏。 那么如何显示虚拟按键呢?...((Activity) context).getWindow().getDecorView().setSystemUiVisibility(systemUiVisibility); } 以上这篇Android...隐藏和沉浸式虚拟按键NavigationBar的实现方法就是小编分享给大家的全部内容了,希望能给大家一个参考。

2.2K20

详解Android获取软键盘状态和软键盘高度

详解Android获取软键盘状态和软键盘高度 应用场景 Android应用中有时会需要获取软键盘的状态(即软键盘是显示还是隐藏)和软键盘的高度。这里列举了一些可能的应用场景。...注册布局变化监听 Android当软键盘隐藏变为显示,或由显示变为隐藏时,会触发当前布局View的全局布局变化。通过监听全局布局的变化就可以得知软键盘的状态。...并不是只有显示和隐藏键盘会触发OnGlobalLayoutListener的回调,一个View绘制完成,或者消失时都会触发OnGlobalLayoutListener的回调(由于onCreate...不过并不是只有软键盘的显示和隐藏会影响窗口的可见区域大小,像大多数的平板和部分手机上有一排虚拟按键(虚拟的返回键,Home键等),虚拟按键的显示和隐藏也会引起窗口可见区域的变化。...这时可以自行定义一个接口,主Activity对软键盘状态变化进行监听,其他对软键盘状态感兴趣的类,向主Activity中注册软键盘状态变化监听。

2.7K20
领券