这篇文章主要介绍了Android 进入Activity时如何禁止弹出软键盘输入法,文章围绕主题展开具体内容,需要的小伙伴可以参考一下
前言:
在开发中经常会遇到这样的问题,进入一个含Edittext的Activity后总是会自动弹出软件盘。但是有时候我们又不想让它弹出,因为影响美观,而且用户可能也会反感。最好的做法是刚进入时不让弹出,在用户输入的时候才让弹出,把主动权交个用户是对用户最大的尊重。
禁止弹出软键盘输入法
代码:
<activity
android:name=".MainActivity"
android:windowSoftInputMode="stateHidden"/>发现用stateAlwaysHidden也可以禁止弹出软键盘
<activity
android:name=".MainActivity"
android:windowSoftInputMode="stateAlwaysHidden"/>stateHidden和stateAlwaysHidden的区别
既然stateHidden和stateAlwaysHidden都可以实现禁止弹出软键盘,那这两者到底有什么区别呢?网上看很多人都说得不清不楚,还不如自己上Android官网看最权威

发现官网的说明还是有点晦涩难懂的,我以我的理解说明下:
- stateHidden:当用户进入Activity后保证是隐藏软键盘的,但是如果是从另一个页面返回该页面就不能保证了。比如说用户进入A页面,然后在输入框输入内容,未收起软键盘直接进入B页面,再从B页面返回A页面,此时A页面中软键盘还是显示的。又或者是用户由A页面进入B页面,在B页面弹出软键盘,未收起直接返回A页面,此时A页面中软键盘还是显示的。
- stateAlwaysHidden:当用户刚进入Activity后软键盘也是隐藏的。与stateHidden的区别是,还是以上面的例子来说明,比如说用户进入A页面,然后在输入框输入内容,未收起软键盘直接进入B页面,再从B页面返回A页面,此时A页面中软键盘是收起来的。又或者是用户由A页面进入B页面,在B页面弹出软键盘,未收起直接返回A页面,此时A页面中软键盘是收起来的。
代码中设置softInputMode
当然,我们也可以在Activity的onCreate中设置softInputMode,如下代码所示,和在Manifest中设置是等价的
// 等价于android:windowSoftInputMode="stateHidden"
getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_HIDDEN);
// 等价于android:windowSoftInputMode="stateAlwaysHidden"
getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_HIDDEN);到此这篇关于Android 进入Activity时如何禁止弹出软键盘输入法的文章就介绍到这了,更多相关Android 进入Activity 内容请搜索编程学习网以前的文章希望大家以后多多支持编程学习网!
本文标题为:Android 进入Activity时如何禁止弹出软键盘输入法
基础教程推荐
- Android多返回栈技术 2023-04-15
- android studio按钮监听的5种方法实例详解 2023-01-12
- IOS应用内跳转系统设置相关界面的方法 2022-11-20
- IOS 播放系统提示音使用总结(AudioToolbox) 2023-03-01
- Android中的webview监听每次URL变化实例 2023-01-23
- Flutter手势密码的实现示例(附demo) 2023-04-11
- 解决Android Studio突然不显示logcat日志的问题 2023-02-04
- iOS开发教程之XLForm的基本使用方法 2023-05-01
- Android开发使用RecyclerView添加点击事件实例详解 2023-06-15
- Flutter绘图组件之CustomPaint使用详解 2023-05-12
