当在Android的layout设计里面如果输入框过多,则在输入弹出软键盘的时候,下面的输入框会有一部分被软件盘挡住,从而不能获取焦点输入。
解决办法:
方法一:在你的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/7648384

Android中软键盘弹出可能遮挡布局相关推荐

  1. Android中软键盘弹出时关于布局的问题

    当在Android的layout设计里面如果输入框过多,则在输入弹出软键盘的时候,下面的输入框会有一部分被软件盘挡住,从而不能获取焦点输入. 解决办法: 方法一:在你的activity中的oncrea ...

  2. android实现软键盘弹出,editText随键盘上移,背景不动

    android实现软键盘弹出,editText随键盘上移,背景不动 前段时间有个妹子问我如题的需求,我就想,这种东西网上不是很多吗,自己试过才发现,基本都不行,各种设置配置文件的windowSoftI ...

  3. Android判断软键盘弹出并隐藏的简单完美解决方案

    Android判断软键盘弹出并隐藏的简单完美解决方案 参考文章: (1)Android判断软键盘弹出并隐藏的简单完美解决方案 (2)https://www.cnblogs.com/thare1307/ ...

  4. Android 软键盘弹出时把布局顶上去,控件乱套解决方法

    Android 软键盘弹出时把布局顶上去,控件乱套解决方法 参考文章: (1)Android 软键盘弹出时把布局顶上去,控件乱套解决方法 (2)https://www.cnblogs.com/zhuj ...

  5. 简单可用 Android 安卓软键盘弹出、隐藏监听方法回调

    工具类 import android.app.Activity import android.graphics.Rect import android.view.ViewTreeObservercla ...

  6. android键盘顶起布局原理,android如何把键盘弹出不影响布局?

    我想只把键盘和输入框那个layout弹上去 只有键盘弹出,而且toolbar的颜色会延生到下面 这是设置为adjustPan以后,会把整个界面顶上去,我只想顶输入框 activity_chat.xml ...

  7. android判断键盘是否弹出窗口,Android判断软键盘弹出并隐藏的简单完美解决方法(推荐)...

    最近项目中有一个编辑框,下面是个ListView.在触发编辑框弹出软键盘后,ListView还能滑动,并且ListView的item还能响应单击.这样的体验效果很不好.于是便想在滑动或单击item时判 ...

  8. uni app(H5)中软键盘弹出,固定定位绝对定位元素位置发生错乱

    一.问题如下 最近用uni app写项目,发现H5软键盘弹起,导致我固定定位的按钮被顶了上去,如图 二.解决方法 1.让其在输入框获取焦点时隐藏 百度了许多,有让输入框获取焦点时让按钮隐藏的方法,失去 ...

  9. (转)Android软键盘弹出,界面整体上移

    原地址:http://blog.csdn.net/u011622479/article/details/51161717 在做搜索功能的时候,点击搜索框,搜索框获取焦点,键盘弹出:现在问题出来了,an ...

最新文章

  1. 【周末阅读】10年内,19个关键技术将改变世界
  2. 【ASP.NET MVC】 路由机制:命名路由
  3. Java IO: 序列化与ObjectInputStream、ObjectOutputStream
  4. java 代码造假_老板居然让我在Java项目中“造假”
  5. 「干货」不逼自己一下不知道自己多牛逼[python篇]
  6. Spring容器创建流程(8)初始化bean
  7. java biginteger string_String到BigInteger java
  8. 【bzoj4695】最假女选手 线段树区间最值操作
  9. 用Linux编写简单的atm取款机系统,详细解析C++编写的ATM自动取款机模拟程序
  10. 用Tensorflow基于Deep Q Learning DQN 玩Flappy Bird
  11. python 抢票_亲测,python抢票成功!
  12. 群晖硬盘已损毁 Linux 修复,通用解决方案:修复Synology系统硬盘损坏
  13. python可视化窗口制作一个摇骰子游戏_通过构建一个简单的掷骰子游戏去学习怎么用 Python 编程...
  14. 淘宝API如何获取商品详情信息|sku|价格|店铺|优惠券|运费信息,淘宝商品详情API接口
  15. kappa一致性检验教程_[转载]Kappa一致性检验
  16. [Excel]sumif函数对满足条件的单元格求和
  17. 【STM32】NRF24L01模块的收发调试
  18. 百川云旺客服申请测试流程
  19. 计算机全能学什么,什么是全能学生本 全能学生本什么意思
  20. 谷歌浏览器翻译修复工具

热门文章

  1. 桔子浏览器|1M安装包|hao123专属浏览器
  2. 猪八戒背媳妇用计算机弹出来,奔跑吧校运会 | 计算机学院运动会第二日成绩简报...
  3. 图像噪声的特点以及分类(一)
  4. 电子设计教程20:晶体管负反馈放大电路的参数设计
  5. 优衣库畅销款商品可视化分析项目
  6. 虚拟机大数据实训项目
  7. 中兴媒体服务器vs3000,超然录播系统 MRS3000多媒体录播服务器--投影时代产品专区...
  8. 到底什么是Pipeline?
  9. 蚂蚁宣布开源 KubeTEE:让机密计算支持大规模 K8s 集群
  10. Cat.1究竟是如何崛起的?中速率到底有什么用?