博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Android 输入法键盘和activity页面遮挡问题解决
阅读量:6271 次
发布时间:2019-06-22

本文共 1020 字,大约阅读时间需要 3 分钟。

本文主要介绍Android中如何解决输入法键盘和activity页面遮挡的问题

 

总结:

不希望遮挡设置activity属性android:windowSoftInputMode="adjustPan"

希望动态调整高度android:windowSoftInputMode="adjustResize"

 

问题:

我原来的问题是,对于腾讯微博的OAuth验证webView,弹出软键盘后,输入框上移就看不到输入框了,后发现Webview放到了ScrollView中,将ScrollView改为LinearLayout问题解决了,不会在弹出软键盘后大幅滚动。不过下面还是详细介绍下软键盘和activity页面遮挡的问题。

 

详细:

通常情况下如果我们在一个输入框输入内容,输入法键盘弹出时,activity自动设置高度,相当于在activity向上滚动了添加了输入法键盘的高度。但有时可能淹没当前的输入框,如果希望输入法键盘弹出时不自动向上挤压activity,在activty中设置属性android:windowSoftInputMode="adjustPan",这样输入法可以覆盖Activity显示,如下:

Java代码  
  1. <activity android:name="testActivity"  
  2.       android:windowSoftInputMode="adjustPan">  

设置属性为android:windowSoftInputMode="adjustResize"即可自动调整高度。

属性stateVisible表示默认显示输入法键盘,其他属性见:

 

adjustPan同样存在问题,即可能需要关闭软键盘,定位被挡住的输入框,我希望的是介于adjustPan和adjustResize之间的解决方案,即软键盘会对activity有一定挤压,但是焦点所在输入框始终会显示在屏幕上,有会的朋友欢迎留言分享,个人觉得可能的解决方案是,重写其中的

Java代码  
  1. protected void onSizeChanged(int w, int h, int oldw, int oldh)  

方法,使得h参数动态变化达到效果,但较耗时,暂不想尝试了。

 

参考:http://trinea.iteye.com/blog/1486663

转载于:https://www.cnblogs.com/zishentai-1/p/4905665.html

你可能感兴趣的文章
Excel 2013 全新的图表体验
查看>>
openstack 制作大于2TB根分区自动扩容的CENTOS镜像
查看>>
Unbuntu安装遭遇 vmware上的Easy install模式
查看>>
几个常用的ASP木马
查看>>
python分析postfix邮件日志的状态
查看>>
Mysql-5.6.x多实例配置
查看>>
psutil
查看>>
在git@osc上托管自己的代码
查看>>
机器学习算法:朴素贝叶斯
查看>>
小五思科技术学习笔记之扩展访问列表
查看>>
使用Python脚本检验文件系统数据完整性
查看>>
使用MDT部署Windows Server 2003 R2
查看>>
Redhat as5安装Mysql5.0.28
查看>>
通过TMG发布ActiveSync
查看>>
Web服务器的配置与管理(4) 配置访问权限和安全
查看>>
linux shell 脚本攻略学习4
查看>>
必胜宅急送Web app设计背后的思考
查看>>
iPhone 上如何通过 Safari 使用 Pocket
查看>>
WebFormViewEngine及用户控件寻址bug
查看>>
线段树
查看>>