关闭

Android软键盘弹出问题的解决方法

268人阅读 评论(0) 收藏 举报

当点击编辑框弹出软键盘时,如果不做处理,往往会遮住界面上的控件,这会降低用户体验。

解决方法1:
在你的activity中的oncreate中setContentView之前写上这个代码

getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_PAN);

解决方法2:
在项目的AndroidManifest.xml文件中界面对应的里加入,这样会让屏幕整体上移。如果加上的 是 android:windowSoftInputMode=”adjustPan”这样键盘就会覆盖屏幕。

<activity android:windowSoftInputMode="stateVisible|adjustResize". . . >  

分析一下这个android:windowSoftInputMode属性
android:windowSoftInputMode
这个属性用于设置Activity主窗口与软键盘的交互模式,可以用来避免软键盘面板遮挡内容的问题。 这个属性能影响两件事:

当有焦点产生时,软键盘是隐藏还是显示
是否调整Activity主窗口大小以便腾出空间放软键盘
它的设置必须是下面列表中的一个值,或一个”state”值加一个”adjust”值的组合,各个值之间用 | 分开。

stateUnspecified:默认状态,系统将选择一个合适的状态或依赖于主题的设置。
stateUnchanged:当这个Activity出现时,软键盘将一直保持上一个Activity里的状态,无论是隐藏还是显示。
stateHidden:当这个Activity出现时,软键盘总是被隐藏。
stateAlwaysHidden:当这个Activity主窗口获取焦点时,软键盘总是被隐藏。
stateVisible:当这个Activity出现时(Activity中有可以获取输入焦点的控件),软键盘通常是可见的。
stateAlwaysVisible:当这个Activity出现时,软键盘总是弹出。
adjustUnspecified:默认行为,系统将根据窗口中的布局自动调整窗口大小。
adjustResize:这个Activity主窗口总是调整屏幕的大小以便留出软键盘的空间;这个选项不能和adjustPan同时使用,如果这两个属性都没有被设置,系统会根据窗口中的布局自动选择其中一个。
adjustPan:这个Activity主窗口并不调整屏幕的大小以便留出软键盘的空间;相反,当前窗口中获取输入焦点的控件会自动移动到软键盘上方以便用户总是能看到输入内容的部分;这个选项不能和adjustPan同时使用,如果这两个属性都没有被设置,系统会根据窗口中的布局自动选择其中一个。

关于软键盘的弹出与隐藏
contentEdit是控件
弹出软键盘:

InputMethodManager imm = (InputMethodManager) mContext
                        .getSystemService(Context.INPUT_METHOD_SERVICE);
                imm.showSoftInput(contentEdit, InputMethodManager.SHOW_FORCED);

隐藏软键盘:

InputMethodManager imm = (InputMethodManager) mContext
                .getSystemService(Context.INPUT_METHOD_SERVICE);
        imm.hideSoftInputFromWindow(contentEdit.getWindowToken(), 0);
0
0
查看评论
发表评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场

Android 处理软键盘弹出问题

引发的问题键盘弹出后和界面互相作用一般有如下问题: 键盘遮挡你想看到的内容 键盘压缩了你的界面 键盘自动弹出 键盘把界面顶出窗口 暂时想到这几种情况,由于最近做一个聊天的软件,遇到一些问题,所以想把类似问题全搞清楚,解决方法做如下总结。 遮挡内容 默认情况,输入法顶起你点击的输入框,只保证这个输入框...
  • cytsh
  • cytsh
  • 2016-07-24 22:52
  • 2977

Android软键盘弹出时布局的调整问题

1。当不希望软键盘挤压布局时(直接覆盖下半部分) 设置该属性为android:windowSoftInputMode="adjustNothing" 即可 2.当Edittext处于屏幕下方时,上述办法就不好用了,这时候不去设置该属性,软键盘的出现将会挤压我们的布局,如果...
  • qq_21338465
  • qq_21338465
  • 2016-03-12 17:53
  • 890

Android软键盘遮挡问题解决

在开发登录界面时,在点击某个EditText准备输入时,弹出的软键盘遮挡了按钮或者下面的输入框,在完成这个文本框的输入后,想要继续下面的操作,需要先隐藏软键盘。这会影响用户操作的流畅感,所以需要解决。在尝试了网上的几种处理方法后,最终选择了一种比较满意的方式。下面先给一个图,来讲解下问题所在
  • lintax
  • lintax
  • 2016-11-27 16:24
  • 1278

Android软键盘弹出引起的各种不适终极解决方案

转载地址:http://blog.csdn.net/itachi85/article/details/6596284      很多写登录界面的开发者都会遇到一个问题:那就是在登录界面时,当你点击输入框时,下边的按钮有时会被输入框挡住,这个不利于用户的...
  • l_215851356
  • l_215851356
  • 2016-08-31 11:23
  • 3771

Android 禁止Edittext弹出系统软键盘 的几种方法

第一种方法:在XML文件下添加: android:focusable="true"    android:focusableInTouchMode="true" 第二种方法:直接关闭输入法
  • sinat_27672523
  • sinat_27672523
  • 2017-02-24 14:14
  • 6600

android 监听软键盘弹出和隐藏和4.4系统沉浸式通知栏冲突解决

由于项目的需要相信大家肯定会遇到各种各样的问题,如何去解决问题,如何去学习进步,对我们来说都很重要。希望自己能养成记录的习惯,也希望自己遇到的问题能帮助更多的人少走弯路。 在这里我们首先说一下android监听软键盘弹出的实现方法。这样的方法相信网上也有很多。在这里我介绍一下我项目所用的吧。 1...
  • u014007519
  • u014007519
  • 2016-03-31 10:21
  • 2902

关于ListView中EditText点击弹出软键盘及软键盘弹出后的焦点问题

今天项目购物车要改成可以点击输入购买件数,一开始一直弹不出软键盘,焦点也有问题,百度了下,看到别人是这么解决的 在ListView中,每次弹出软键盘后就会重新调用getView()方法,导致EditText失去焦点。 解决办法:在getView()方法中添加监听器: editText.setOnTo...
  • jyz_2015
  • jyz_2015
  • 2016-06-23 15:00
  • 2384

解决Android软键盘和表情面板切换界面闪动问题

Android软键盘会压缩Activity窗口大小,在软键盘和表情面板之间切换的时候会造成界面跳动,影响体验,如下图: 造成这个原因和AndroidManifest.xml文件里面设置Activity的windowSoftInputMode属性有关: 当属性为adjustResize的时候...
  • xh2009cn
  • xh2009cn
  • 2016-05-12 20:04
  • 4323

禁止进入activity自动弹出键盘

在Manifest.xml中设定activity的属性 android:windowSoftInputMode="stateHidden|stateUnchanged" 附相关属性: "stateUnspecified" 软键盘的状态(是否它是隐藏或可见...
  • Hknock
  • Hknock
  • 2014-01-22 17:22
  • 22833

android editText自动弹出软键盘(输入键盘)

有一个界面有如下的需求:有一个textview上面显示的是400,我点击之后,弹出对话框,对话框中有一个输入框,将400传递过来也是显示400,当点击了textview,默认全选400,此时也同时有输入法弹出来,这样就是全选,让用户可以使用输入法中的删除键,一下子删除所有的数字,就是400,如何才能...
  • omayyouhappy
  • omayyouhappy
  • 2015-10-13 11:06
  • 13516
    个人资料
    • 访问:87777次
    • 积分:1368
    • 等级:
    • 排名:千里之外
    • 原创:51篇
    • 转载:1篇
    • 译文:0篇
    • 评论:22条
    最新评论