在webview中实现软键盘出现的时候自动把输入框的布局顶上去的效果,需要设置输入法的属性,一般有两种设置方式,一种是在java code中设置,第二种是在 androidmanifest中设置,以下将分别介绍。

1. 在java代码中设置

getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE | WindowManager.LayoutParams.SOFT_INPUT_STATE_HIDDEN);

2. 在 androidmanifest 中设置

设置与其对应的activity的属性如下:     
 android:windowSoftInputMode="stateHidden|adjustPan"
  该属性在有些情况下是不生效的,经测试现在所知的有以下两种情况:
   1)当前activity被设置了全屏属性,即 
 android:theme="@android:style/Theme.Black.NoTitleBar.Fullscreen"

   2)webview的相关布局被固定了高度,这里也分为两种情况:           a) 根布局固定了高度,这里的根布局是webview所在的Activity的最外层布局;           b) 根布局未固定高度,但是根布局是FrameLayout布局,而webview或者其父控件被固定了高度。 (项目中遇到的就是第二种情况,经过反复对比测试,终于找到原因,分享出来,希望能帮助其他人)
(ps:固定了高度,是指layout_height属性被赋予了具体多少dp或px)

         以上的这两种固定的高度都会导致软键盘遮挡输入框的问题,需格外留意。

更多相关文章

  1. android权限列表
  2. clearTaskOnLaunch的使用
  3. Android(安卓)PopupWindow使用详解
  4. android信得过的退出程序设置
  5. 一步一步学android OpenGL ES2.0编程(1)
  6. Android(安卓)开发之RecyclerView的使用
  7. android学习摘记——TabHost使用代码
  8. Android(安卓)ApiDemos示例解析(112):Views->Expandable Lists->
  9. 如何在代码中动态设置字体大小

随机推荐

  1. MySQL系列-InnoDB核心特性之事务介绍
  2. thinkPHP6框架基础知识
  3. 为什么考华为认证考华为认证有什么用?
  4. 华为认证改名HCNP改为HCIP
  5. 3.15 安装使用外部SQL Server的vCenter S
  6. KubeNode:阿里巴巴云原生容器基础设施运维
  7. IP网络性能测试工具——Renix Perf
  8. 华为认证考试题型分析备考指南
  9. wordpress日志审计插件audit-trail安装
  10. ]/bin/bash^M: bad interpreter: No such