android键盘挡住
① Android WebView加载页面的输入框被软键盘遮挡的问题
当实现沉浸式状态栏时遇到软件盘遮挡WebView页面的输入框的问题,这是实现方式有问题,应该检查你的实现方式。
1)加载WebView的Activty不能设置为全屏模式,即Theme.NoTitleBar.Fullscreen,可以使用Theme.Holo.Light.NoActionBar
2)沉浸式状态栏的实现方式,在Activity的根布局里加两个属性:
android:clipToPadding="true" 设置你的绘制区域在padding里面
android:fitsSystemWindows="true" 调整view的padding属性为系统窗口 留出空间
在Activity的onCreate方法里面设置标题栏为透明,即:
getWindow().addFlags(WindowManager.LayoutParams.FLAG_TRANSLUCENT_ST ATUS);
3)Activity里面不能设置android:windowSoftInputMode的属性,使用默认的属性即可
以上3步即可实现沉浸式状态栏并且能保证你的WebView加载的HTML页面的输入框不被软键盘遮挡。
顶
0
踩
0
上一篇 Android Studio在SVN上创建分支
下一篇 Android Converty问题解决方案
相关文章推荐
• android中webview加载html输入框不能输入内容问题记录
• 如何解决Android软键盘盖住输入框的问题
• Android 软键盘盖住输入框的问题
• Android 软键盘盖住输入框的问题
• Android 软键盘盖住输入框的问题
• Android 软键盘盖住输入框的问题
• Android 软键盘盖住输入框的问题
• android popupwindow 中输入框被软键盘弹出挡住问题解决
• ios解决软键盘遮挡输入框问题
• Android软键盘遮挡输入框解决方法
参考知识库
Android知识库
34080 关注 | 2937 收录
猜你在找
Android中的五大布局
零基础学软件之HTML语言
【Android APP开发】Android高级商业布局快速实现
html5的app开发
Android前沿技术—《软件框架搭建》
Android移植基础
html系统学习篇
零基础学习HTML5—html+css基础
Android开发之初窥门径
Android之数据存储
关闭
② android中键盘遮挡了dialog里的内容怎么办
在编辑框输入内容时会弹出软键盘,而手机屏幕区域有限往往会遮住输入界面,我们先看一下问题效果图:
输入用户名和密码时,系统会弹出键盘,造成系统键盘会挡住文本框的问题,如图所示:
输入密码时输入框被系统键盘遮挡了,大大降低了用户操作体验,这就是开发中非常常见的软键盘遮挡的问题,该如何解决?
简单解决方案
方法一
在你的activity中的oncreate中setContentView之前写上这个代码
getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_PAN);
方法二
在 项目的AndroidManifest.xml文件中界面对应的<activity>里加入
这样会让屏幕整体上移。如果加上的 是 android:windowSoftInputMode="adjustPan"这样键盘就会覆盖屏幕。
关于android:windowSoftInputMode
activity主窗口与软键盘的交互模式,可以用来避免输入法面板遮挡问题,Android1.5后的一个新特性。
这个属性能影响两件事情:
【一】当有焦点产生时,软键盘是隐藏还是显示
【二】是否减少活动主窗口大小以便腾出空间放软键盘
它的设置必须是下面列表中的一个值,或一个”state…”值加一个”adjust…”值的组合。在任一组设置多个值——多个”state…”values,例如&mdash有未定义的结果。各个值之间用|分开。
例如:
③ EditText弹出软键盘遮住输入框问题
如果在Activity中的布局的下方有EditText,获取焦点弹出软键盘的时候,如果不做处理,软键盘可能会遮挡输入框,用户提现不好,网上也有很多人提出结局方案,这里就分析一下解决的效果.
需要用到EditText的布局大概分为两种,一种是页面显示的内容不希望有残缺,比如软键盘把标题挤出了屏幕,如登录注册搜索等,EditText多半在页面上半部分.另一种是页面的上半部分不重要,比如聊天窗口,软键盘弹出的时候,上半部分的聊天记录可以被基础屏幕外,EditText多半在最下方.其他的情况可以根据本文做出选择, 结果在最下面 .
开始:
网上针对这个问题解决的方法大概这么几种:
1.修改AndroidManifest.xml文件.
2.在Activity中添加配置.
3.在布局文件中添加ScrollVie.
在AndroidManifest.xml中对应的Activity配置: android:windowSoftInputMode="stateVisible|adjustResize"
这里SOFT_INPUT_ADJUST_RESIZE和SOFT_INPUT_ADJUST_PAN和上面中的adjustResize和adjustPan效果是一样的.
ScrollView是能让弹出的软键盘添加到布局的下面,从而不挡住部分布局.这里往往需要跟上面的adjustResize和adjustPan两个状态一起用.
布局:
向上移的方式 设置:
压缩的方式 设置:
结果:
只要弹出软键盘会影响到布局的情况,都用ScrollView把布局包裹起来,被包裹的内容就是可能被缩放或挤出屏幕外的内容.然后根据EditText的位置判断用adjustResize还是用adjustPan.
adjustResize是收缩adjustPan是向上挤
个人推荐,登录注册用adjustResize,聊天窗口用adjustPan