在我的应用程序中,我有一个 Activity,其中包含一个 Fragment,其中包含一个带有各种 EditTexts 的 ListView,如下所示:
活动 -> 片段 -> 列表视图 -> 编辑文本
当点击 EditText 时,会显示软键盘并发生以下两种情况之一:
如果 Activity 尚未失去焦点(例如,通过访问 Android 主屏幕),则整个 Activity 会略微向上滑动,以便 EditText 不会被键盘遮挡。
如果 Activity 在某些时候失去焦点(再次,例如访问 Android 主屏幕),ListView 会在键盘上方滚动 EditText(活动保持静止),但 EditText 失去焦点!
这些结果都不是理想的。理想情况下,我总是希望 ListView 在键盘上方滚动 EditText 而不会使 EditText 失去焦点。谁能指出我正确的方向和/或解释为什么我现在看到同一动作的两种不同行为?
编辑:作为参考,我正在为 Android 4.2 构建并在 Nexus 7 平板电脑上进行测试。