当在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

转载于:https://www.cnblogs.com/roccheung/p/5797465.html

Android中软键盘弹出时关于布局的问题相关推荐

  1. Android中软键盘弹出可能遮挡布局

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

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

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

  3. Android 软键盘弹出时布局内指定内容上移实现及问题解决

    Android 软键盘弹出时布局内指定内容上移实现及问题解决 参考文章: (1)Android 软键盘弹出时布局内指定内容上移实现及问题解决 (2)https://www.cnblogs.com/as ...

  4. Android 软键盘弹出时把原来布局顶上去的解决方法

    Android 软键盘弹出时把原来布局顶上去的解决方法 参考文章: (1)Android 软键盘弹出时把原来布局顶上去的解决方法 (2)https://www.cnblogs.com/Joanna-Y ...

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

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

  6. 软键盘弹出时popwindow_PopupWindow与软键盘冲突

    一.说明 笔记主要是记录一些本人在开发当中的学习和使用笔记.笔记内容包含一些本人觉得重要的知识点.本人易犯的错误等. 由于本人水平有限,其中出现的错误或者不合理的地方望各位读者多多包含,并指出其中不合 ...

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

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

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

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

  9. android软键盘把布局顶上去,Android 软键盘弹出时把原来布局顶上去的解决方法

    键盘弹出时,会将布局底部的导航条顶上去. 解决办法: 在mainfest.xml中,在和导航栏相关的activity中加: android:name=".filing.MainActivit ...

最新文章

  1. UML中聚合和组合的关系(笔记)
  2. yml不识别_SpringBoot(2):yml配置文件和集成其他框架
  3. 定制CentOS 6.3 自动安装盘
  4. 不越狱无硬件,轻松搞定iPhone投影与录屏
  5. struts,ognl,valuestack
  6. Linux shell的和||
  7. Administrator用户被禁用
  8. 华为mate30怎么申请鸿蒙内测,华为新系统启动内测,mate30系列尝鲜,网友:羡慕...
  9. 【java基础知识】判断字符串不为空
  10. Atitit 软件项目的一整套解决方案(gui界面,中间,存储数据库,图像处理,全文搜索)attilax总结
  11. 两种前端在线json编辑器方案(无法解决number精度丢失问题)
  12. 基于chrome内核的微软Edge浏览器~
  13. Solidworks教程:solidworks常用的十个技巧
  14. rxbus 源码_RxBus 这个 RxBus 稳如老狗 @codeKK Android开源站
  15. ReactiveCocoa简介翻译
  16. OpenWrt 安装中文语言包
  17. Flutter 启动页适配
  18. HTCVIVE无线套装安装后unityvr项目无法在头盔中显示
  19. 【打卡-Coggle竞赛学习2023年1月】文本相似度匹配
  20. 硅谷华人AI精英大批回国成趋势,BAT在美设「挖人」据点,猎头暗中潜伏

热门文章

  1. 对抗攻击之SMI-FGSM:北航提出用空间动量提高对抗迁移性
  2. 为对抗训练的理论工作添砖加瓦:选择核心子集进行训练,大大缩短训练时间...
  3. 小目标检测的福音:Stitcher,简单又有效
  4. 紫为云 2020春招开启!算法职位20K-50K!
  5. Facebook AI 提出10亿级数据规模的半监督图像分类模型,ImageNet测试精度高达81.2%!...
  6. 三相滤波器怎么接线_数字滤波器设计的一般套路
  7. 2020年 2 篇异常算法最佳综述
  8. 卡内基·梅隆大学新提出AdaScale:自适应缩放实现视频对象实时检测算法
  9. 第5章 数据的共享与保护
  10. kali linux中文乱码解决,kali-google-chrome中文乱码问题解决方法