android开发中总会莫名的遇到一些问题,例如有时候需要输入法把布局顶上去,有时候又希望输入法覆盖布局,我遇到的问题是输入法总是把布局顶上去,百度了好久都没解决,这里整理一下百度到的几种方式。还知道其他方式的请补充一下,谢谢。我的问题还没解决呢。
方法一:在你的activity中的oncreate中setContentView之前写上这个代码

getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_PAN)

方法二:在项目的AndroidManifest.xml文件中界面对应的里加入

android:windowSoftInputMode="stateVisible|adjustResize",这样会让屏幕整体上移。如果加上

的是android:windowSoftInputMode="adjustPan"这样键盘就会覆盖屏幕。

方法三:把顶级的layout替换成ScrollView,或者说在顶级的Layout上面再加一层ScrollView的封装。这样就会把软键盘和输入框一起滚动了,软键盘会一直处于底部。

下面试一下百度的记录过程:

一进界面就隐藏输入法:
在AndroidManifest.xml中设置activity的android:windowSoftInputMode="stateHidden"

今天做布局的时候
嵌套的TbaleLayout里面有三行
但是准备输入的时候输入法自动将整个activity布局全部往上挤
导致输入框变小甚至消失
弄的很是郁闷
在网上查了之后 发现有些人是因为输入法调出后布局不动而烦恼
找到了解决方法

如果不想布局动(该Activity主窗口并不调整屏幕的大小以便留出软键盘的空间)
在这个activity中的AndroidManifest.xml中加入代码android:windowSoftInputMode="adjustPan"
还能解决软件盘关闭时黑一下的问题,大概是没给软键盘留空间吧

如果想让布局动 则加入代码Android:windowSoftInputMode="stateVisible|adjustPan"
或者在你的activity中的oncreate中setContentView之前写上以下代码
getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_PAN);

还有一种方法 在对应的layout XML的顶级元素上加一层ScrollView

< ScrollView xmlns:Android="http://schemas.android.com/apk/res/android " Android:layout_width="fill_parent" Android:layout_height="fill_parent">
< /ScrollView>

在AndroidManifest.xml文件中的activity中设置 android:windowSoftInputMode属性

<activity
android:windowSoftInputMode=
["stateUnspecified","stateUnchanged", "stateHidden","stateAlwaysHidden","stateVisible",
"stateAlwaysVisible","adjustUnspecified","adjustResize", "adjustPan"] …… >
</activity>

activity主窗口与软键盘的交互模式,可以用来避免输入法面板遮挡问题,Android1.5后的一个新特性。

这个属性能影响两件事情:

【A】当有焦点产生时,软键盘是隐藏还是显示

【B】是否减少活动主窗口大小以便腾出空间放软键盘

各值的含义:

【A】stateUnspecified:软键盘的状态并没有指定,系统将选择一个合适的状态或依赖于主题的设置

【B】stateUnchanged:当这个activity出现时,软键盘将一直保持在上一个activity里的状态,无论是隐藏还是显示

【C】stateHidden:用户选择activity时,软键盘总是被隐藏

【D】stateAlwaysHidden:当该Activity主窗口获取焦点时,软键盘也总是被隐藏的

【E】stateVisible:软键盘通常是可见的

【F】stateAlwaysVisible:用户选择activity时,软键盘总是显示的状态

【G】adjustUnspecified:默认设置,通常由系统自行决定是隐藏还是显示

【H】adjustResize:该Activity总是调整屏幕的大小以便留出软键盘的空间

【I】adjustPan:当前窗口的内容将自动移动以便当前焦点从不被键盘覆盖和用户能总是看到输入内容的部分

转载自:http://blog.csdn.net/u014727709/article/details/53742865
欢迎start,欢迎评论,欢迎指正

Android输入法挤乱布局问题相关推荐

  1. Android输入法与页面布局无缝切换

    背景 最近在做一个笔记相关的项目,涉及到输入法与页面布局间的切换,以前最多就是控制输入法显示隐藏,所以在做的过程中遇到一些闪屏的问题,在此记录一下. 如图,在输入法上方悬浮一个tab栏,在点击切换字体 ...

  2. android输入法把底部顶起来,Android 输入法将底部布局顶上去遮挡布局问题

    最近在项目中遇到使用ReletiveLayout将View固定在底部,但弹出输入框时底部的View被顶上去的问题, 尝试了很多解决办法 ,如下: 方法一:在你的activity中的oncreate中s ...

  3. android弹出输入框不影响布局,android 输入法弹出后,不影响activity原有布局

    android输入法弹出框有时会遮挡原有的布局,使得输入法弹出框弹出时,原布局消失,现介绍android:windowSoftInputMode的一些属性: 在AndroidManifest.xml文 ...

  4. Android获取输入法高度——输入法与页面布局无缝切换

    在QQ或者微信的聊天页面,当输入法和表情栏互相切换时,过度非常自然,而且表情栏高度刚好跟输入法一样.个人感觉这种用户体验特别的好,别看这个细节小,但代码实现处理起来还是有一定难度.今天我就带大家来实现 ...

  5. 【为Android 应用创建 XML 布局】

    上一篇:[Kotlin 中的类和继承] 一.准备工作 在此文章中,您将为一个基本的小费计算器应用构建布局.在此文章结束时,该应用将拥有一个可以运行的界面,但它实际上还无法计算小费.通过接下来的几个文章 ...

  6. 写一个Android输入法01——最简步骤

    本文演示用Android Studio写一个最简单的输入法.界面和交互都很简陋,只为剔肉留骨,彰显写一个Android输入法的要点. 1.打开Android Studio创建项目,该项目和普通APP的 ...

  7. 1._请写出5种以上的android中界面常用布局方式,跳槽季“充电宝”Android面试题(一)...

    1.请介绍下Android中常用的5种布局 Android中常用的5种布局分别为:FrameLaout(框架布局).LinearLayout(线性布局).AbsoluteLayout(绝对布局).Re ...

  8. 实现一个Android输入法

    原文来自 Android Developer Guide,本文为原文翻译,如有错误,欢迎指出. 输入法(IME:Input method editor)是一个能够让用户输入文本的工具.Android提 ...

  9. 浅谈Android输入法(IME)架构

    简介: 输入法 (IME) 是一种可让用户输入文本的用户控件.Android 提供了一种可扩展的输入法框架.借助该框架,应用可以为用户提供备选输入法,例如屏幕键盘,甚至语音输入.安装所需的 IME 后 ...

最新文章

  1. Python中从cmd获得.py文件的参数
  2. 沪江基于容器编排的Dev/Ops流程
  3. ECharts学习总结(五):echarts的Option概览
  4. linux centos 7安装 apache php 及mariadb
  5. Boost:fork联接的测试程序
  6. 动态规划之两个字符串的最大子序列
  7. 内部简单二进制编码(SBE)
  8. 卸载win10装Ubuntu笔记
  9. 触发2次 layui_[电路小知识篇]D型触发器电路
  10. B站在港交所暂停交易
  11. 【Qt串口调试助手】1.2 - 串口数据接收不发生换行,CH340 / CP2102 多硬件兼容
  12. 浮云语音转文字识别本地音频文字内容教程
  13. 灰光和彩光_波分百科(一):认识光
  14. 1.5W 字搞懂 Spring Cloud,太牛了!
  15. 数理统计————思维导图(上岸必备)
  16. 某电商销售数据分析 SQL 面试题解析
  17. 用python求正方形面积是多少_长方形正方形面积的计算
  18. 2017ACM-ICPC亚洲区域赛(西安站)
  19. 一些电脑使用的技巧和软件分享(电脑初学者必备)
  20. Markdown之表格table的处理

热门文章

  1. 网络模拟器 eNSP、EVE-NG、GNS3、Packet Tracert
  2. Go GPM 调度器介绍
  3. cnn起源_CNN初探
  4. 面向对象——访问器、修改器、构造函数、对象的创建流程
  5. 一键关闭防火墙_更省心的IoT时代网络生活:360家庭防火墙5S体验
  6. 通过proxysql实现MySQL主从读写分离
  7. storm中的乐器 wolven_原创吉他谱!破碎之花任务中普西拉演唱的 The Wolven Storm
  8. OpenAI提出新型机器人训练技术:模拟环境动态随机
  9. Android Studio修改grade版本
  10. javawebJAVAJSP网吧计费管理系统(JSP网吧管理系统)JSP网吧收费管理系统JSP网吧自动计费管理系统