Android中软键盘弹出时关于布局的问题
解决办法:
方法一:在你的activity中的oncreate中setContentView之前写上这个代码getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_PAN);
方法二:在项目的AndroidManifest.xml文件中界面对应的<activity>里加入android:windowSoftInputMode="stateVisible|adjustResize",这样会让屏幕整体上移。如果加上的是
android:windowSoftInputMode="adjustPan"这样键盘就会覆盖屏幕。
方法三:把顶级的layout替换成ScrollView,或者说在顶级的Layout上面再加一层ScrollView的封装。这样就会把软键盘和输入框一起滚动了,软键盘会一直处于底部。
注:方法一和二应该是同一种方法,不过一个是在代码里实现一个是在xml文件里实现。可能会应为1.5和之前的版本不支持该方法。但是方法三是肯定没有问题的。
文主要介绍Android中如何解决输入法键盘和activity页面遮挡的问题。
总结:
不希望遮挡设置activity属性android:windowSoftInputMode="adjustPan"
希望动态调整高度android:windowSoftInputMode="adjustResize"
问题:
我原来的问题是,对于腾讯微博的OAuth验证webView,弹出软键盘后,输入框上移就看不到输入框了,后发现Webview放到了ScrollView中,将ScrollView改为LinearLayout问题解决了,不会在弹出软键盘后大幅滚动。不过下面还是详细介绍下软键盘和activity页面遮挡的问题。
详细:
通常情况下如果我们在一个输入框输入内容,输入法键盘弹出时,activity自动设置高度,相当于在activity向上滚动了添加了输入法键盘的高度。但有时可能淹没当前的输入框,如果希望输入法键盘弹出时不自动向上挤压activity,在activty中设置属性android:windowSoftInputMode="adjustPan"即可,如下:
Java代码
<activity android:name="testActivity"
android:windowSoftInputMode="adjustPan">
设置属性为android:windowSoftInputMode="adjustResize"即可自动调整高度。
属性stateVisible表示默认显示输入法键盘,其他属性见:android:windowSoftInputMode
adjustPan同样存在问题,即可能需要关闭软键盘,定位被挡住的输入框,我希望的是介于adjustPan和adjustResize之间的解决方案,即软键盘会对activity有一定挤压,但是焦点所在输入框始终会显示在屏幕上,有会的朋友欢迎留言分享,个人觉得可能的解决方案是new一个LinearLayout,重写其中的
Java代码
protected void onSizeChanged(int w, int h, int oldw, int oldh)
方法,使得h参数动态变化达到效果,但较耗时,暂不想尝试了。
转载:
http://blog.csdn.net/stonesharp/article/details/7648384Android中软键盘弹出时关于布局的问题的更多相关文章
- Android中软键盘弹出时底部菜单上移问题
当在Android的layout设计里面如果输入框过多,则在输入弹出软键盘的时候,下面的输入框会有一部分被软件盘挡住,从而不能获取焦点输入. 解决办法: 方法一:在你的activity中的oncrea ...
- Android软键盘弹出时把布局顶上去的解决方法
原文: 解决Andriod软键盘出现把原来的布局给顶上去的方法(转) 链接:http://blog.sina.com.cn/s/blog_9564cb6e0101g2eb.html 决方法,在main ...
- Android 软键盘弹出时把布局顶上去,控件乱套解决方法
解决办法:方法一:在你的activity中的oncreate中setContentView之前写上这个代码getWindow().setSoftInputMode(WindowManager.Layo ...
- Android软键盘弹出时布局问题
最近项目需要做一个类似聊天室的模块,基于Socket实现的,这部分稍后一段时间再做总结,功能上的相关点都实现了小例子也做出来了,最后发现一个比较腻歪的问题就是软键盘弹出时总是会把标题“挤出”屏幕,(无 ...
- ionic项目中 软键盘弹出之后的问题:
Android SDK目前提供的软键盘弹出模式接口只有两种: 一是弹出时自动回冲界面,将所有元素上顶: 一种则是不重绘界面,直接将控件元素遮住: 1. ionic 中弹出键盘遮挡住输入框(覆盖 ...
- H5页面 绝对定位元素被 软键盘弹出时顶起
H5页面 绝对定位元素被 软键盘弹出时顶起 在h5页面开发的过程中,我们可能会遇到下面这个问题,当页面中有输入框的时候,系统自带的软盘会把按钮挤出原来的位置.那么我们该怎么解决呢?下面列出一下的方法: ...
- Android 软键盘弹出时把原来布局顶上去的解决方法
键盘弹出时,会将布局底部的导航条顶上去. 解决办法: 在mainfest.xml中,在和导航栏相关的activity中加: <activity android:name=& ...
- android控制软键盘弹出方式
android一把自带的软键盘弹出方式是会将布局顶上去,造成UI乱套的情况. 解决办法:方法一:在你的activity中的oncreate中setContentView之前写上这个代码getWindo ...
- Android 判断软键盘弹出并隐藏的简单完美解决方案
最近项目中有一个编辑框,下面是个ListView.在触发编辑框弹出软键盘后,ListView还能滑动,并且ListView的item还能响应单击.这样的体验效果很不好.于是便想在滑动或单击item时判 ...
随机推荐
- flutter页面布局一
Padding组件 在 html 中常见的布局标签都有 padding 属性,但是 Flutter 中很多 Widget 是没有 padding 属性.这个时候我们可以用 Padding 组件处理容器 ...
- Hbuild X 打包 混合式app
1.调用原生方法的接口文档:http://ask.dcloud.net.cn/docs/ (亲测有效,使用js 调用原生的设备方法是可以的) 2.HbuildX 可以直接真机调试的.(亲测有效,安装好 ...
- Nginx (限速)限制并发、限制访问速率、限制流量
Nginx 限制并发访问速率流量,配置还是简单的,看下Nginx文档根据文中这三个模块对照看一下就可以,Nginx限速使用的是漏桶算法(感兴趣可以看下文末的参考资料),需要注意的是:当需要进行限速操作 ...
- 108、TensorFlow 类型转换
# 除了维度之外Tensorflow也有数据类型 # 请参考 tf.DataType # 一个张量只能有一个类型 # 可以使用tf.cast,将一个张量从一个数据类型转换到另一个数据类型 # 下面代码 ...
- jenkins-参数化构建插件:Choice Parameter
参考: 谢谢大佬的总结: https://www.cnblogs.com/zhaojingyu/p/9862371.html 使用方式 step1: 添加参数,选择Choice Parameter,并 ...
- CSS最基础的语法和三种引入方式
**CSS语法** CSS 规则由两个主要的部分构成:选择器,以及一条或多条声明.选择器通常是您需要改变样式的 HTML 元素. selector {declaration1; declaration ...
- 使用Excel表格的记录单功能轻松处理工作表中数据的方法
使用Excel表格的记录单功能轻松处理工作表中数据的方法 记录单是将一条记录分别存储在同一行的几个单元格中,在同一列中分别存储所有记录的相似信息段.使用记录单功能可以轻松地对工作表中的数据进行查看.查 ...
- Cocos2d 之FlyBird开发---GamePlay类
| 版权声明:本文为博主原创文章,未经博主允许不得转载. 这个是游戏的核心部分:(FlyBird游戏重中之重) 创建一个物理世界(世界设置重力加速度) 在物理世界中添加一个动态的刚体(小鸟) 在物 ...
- 为什么学python
一.什么是Python Python [1](英国发音:/ˈpaɪθən/ 美国发音:/ˈpaɪθɑːn/), 是一种面向对象的解释型计算机程序设计语言,由荷兰人Guido van Rossum发明. ...
- 【转】modulenotfounderror: no module named 'matplotlib._path'问题的解决
今天在装matplotlib包的时候遇到这样的问题,在网上找了很长时间没有类似很好的解决方法,最后自己 研究找到了解决的方法. 之前在pycharm里面已经装了matplotlib包,之后觉着下载包挺 ...