欢迎来到代码驿站!

Android代码

当前位置:首页 > 移动开发 > Android代码

Android 进入Activity时如何禁止弹出软键盘输入法

时间:2022-10-25 09:31:52|栏目:Android代码|点击:

前言:

在开发中经常会遇到这样的问题,进入一个含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 仿京东秒杀倒计时代码

栏    目:Android代码

下一篇:Android实现调用手机摄像头录像限制录像时长

本文标题:Android 进入Activity时如何禁止弹出软键盘输入法

本文地址:http://www.codeinn.net/misctech/217242.html

推荐教程

广告投放 | 联系我们 | 版权申明

重要申明:本站所有的文章、图片、评论等,均由网友发表或上传并维护或收集自网络,属个人行为,与本站立场无关。

如果侵犯了您的权利,请与我们联系,我们将在24小时内进行处理、任何非本站因素导致的法律后果,本站均不负任何责任。

联系QQ:914707363 | 邮箱:codeinn#126.com(#换成@)

Copyright © 2020 代码驿站 版权所有