情景是这样的:

  1. 我希望页面可以滚动,因为长页面,内容多,必须滚动来满足不同手机的显示
  2. 点击 EditText 输入法弹出来,并将布局顶起来,并且EditText有足够的显示空间
  3. 进入页面时,输入法不能自动弹出来.

解决方案:

1. 用 Scrollview 满足情景里的第一个需求
2. 使用android:windowSoftInputMode="adjustResize"让布局被顶高,满足第二个需求
3. 在Activity里配置 <activity
android:name="com.didikee.Test"
android:configChanges="keyboard|keyboardHidden"
android:windowSoftInputMode="stateAlwaysHidden|adjustResize" >
</activity> stateAlwaysHidden 与 adjustResize 连用即可实现.

会出现的bug

输入法弹出来后,取消输入法,输入法的会"占位"(即占用之前位置,可能显示白色或者黑色)

解决:

Scrollview 的宽高 和父Layout的宽高设为 "match_parent"代替 "wrap_content"即可.

原因:

布局里面的如果有listview或者类似的控件,软键盘上移的时候在adjustResize模式下会把根layout的高度修改
成软键盘之上,这时列表会被挤上去,但是软键盘还原后layout的高度还原的时候列表高度不会改变,就留白了
这时候把你的layout的高度设置成 match_parent 就好了.

最新文章

  1. Nginx 正向代理
  2. c++ 数据类型转换: static_cast dynamic_cast reinterpret_cast const_cast
  3. ShellExecuteA
  4. 把自己主要在做的几个工程都传到了GitHub上
  5. machine learning-----&gt;有监督学习和无监督学习的区别
  6. Hardwood Species(水)
  7. xdotool-linux下的按键精灵
  8. js之dom_1
  9. 网站eurl.axd报错的解决方法
  10. [iOS 多线程 &amp; 网络 - 2.1] - 解析json
  11. SSH proxy
  12. 【HDOJ】4109 Instrction Arrangement
  13. Samba 服务器介绍
  14. java JMS消息队列
  15. Python 2.7 学习笔记 模块和包
  16. 转://Oracle not in查不到应有的结果(NULL、IN、EXISTS详解)
  17. Apache Kafka 概述
  18. Redis设置内存最大占用值
  19. 基于Redis实现的抢购代码示例
  20. PHPweb应用攻击总结(转)

热门文章

  1. vuejs 和 element 搭建的一个后台管理界面
  2. JAVA里的异常
  3. 谁动了我的特征?——sklearn特征转换行为全记录
  4. 在JAVA中把JSON数据格式化输出到控制台
  5. C#的对象赋值
  6. Python成长笔记 - 基础篇 (七)python面向对象
  7. ASP.Net MVC跳转,分为form的submit提交跳转和ajax跳转
  8. Android中将布局文件转成bitmap
  9. ajax跟取后台 josn 之 josn理解
  10. .NET Framework 基础知识总结