java - 键盘中断布局和行为

标签 java android kotlin layout

我有一个 fragment ,其中包含一些 View ,例如 EditText、ViewFlipper 和 RecyclerView。

但是我有一个键盘问题:当键盘出现时,我的一些 View 变成白色,并且我的 RecyclerView 为空,或者当我点击某个项目时,我必须滚动他来处理该事件。

你知道为什么软键盘会破坏布局和行为吗?你知道如何解决这个问题吗?

感谢您的帮助。

编辑:似乎已解决

我找到了一个似乎有效的解决方案:

我将 onCreate() 方法中的 softInputMode 更改为 adjustNothing

override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    activity?.window?.setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_NOTHING)
}

然后在onDestroy中我设置了之前的模式,这里adjustPan

override fun onDestroy() {
    super.onDestroy()
    activity?.window?.setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_PAN)
}

最佳答案

您只需在 Activity 标记内的 AndroidMainfest.xml 文件中将 Activity 的 windowSoftInputMode 标志切换为 adjustPan 即可。

查看官方文档以获取更多信息。

https://developer.android.com/guide/topics/manifest/activity-element.html#wsoft

<activity 
  ... 
  android:windowSoftInputMode="adjustPan">
</activity>

关于java - 键盘中断布局和行为,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57886198/

相关文章:

Java Bioinformatics - 获取字符串中多个特定单词的所有索引

kotlin - 为什么 Kotlin 编译器需要 var 属性的显式初始化程序?

java - 按下按钮

android - android/kotlin 网格布局中单元格的高度和宽度相同

java - 如何在java中并行运行2个任务?

java - 如何使用 dropbox api 解决 spring boot 中的多部分异常?

android - 如何通过触摸中断长时间的处理?

java - 在 java 中通过键从 HashMap 中删除项目

sql - 从 Android 访问 SQL 数据库?

java - ArrayList<字符串> 错误