当前位置: 首页 > 知识库问答 >
问题:

软键盘和编辑文本之间的空间

堵飞鸿
2023-03-14

当软键盘弹出时,我需要在键盘和编辑文本之间提供一些填充,这通常会隐藏编辑文本的底部。

打开软键盘时,我需要完整的edittext视图可见。更重要的是,我不能使用<code>android:WindowsOfInputMode=“adjustResize”,这在我的用例中效果不佳。我正在使用“adjustPan”。

那么如何在不改变windowSoftInputMode的情况下实现相同呢?

共有2个答案

孟嘉歆
2023-03-14

活动?. windows?. setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_ADJUST_RESIZE)

在片段的<code>OnResume<code>方法中使用它。它对我有用

颛孙和悌
2023-03-14

为类中的EditText创建此函数:

private fun View.focusAndShowKeyboard() {

        fun View.showTheKeyboardNow() {
            if (isFocused) {
                post {
                    val imm =
                        context.getSystemService(Context.INPUT_METHOD_SERVICE) as InputMethodManager
                    imm.showSoftInput(this, InputMethodManager.SHOW_IMPLICIT)
                }
            }
        }

        requestFocus()
        if (hasWindowFocus()) {
            showTheKeyboardNow()
        } else {
            viewTreeObserver.addOnWindowFocusChangeListener(
                object : ViewTreeObserver.OnWindowFocusChangeListener {
                    override fun onWindowFocusChanged(hasFocus: Boolean) {
                        if (hasFocus) {
                            this@focusAndShowKeyboard.showTheKeyboardNow()
                            viewTreeObserver.removeOnWindowFocusChangeListener(this)
                        }
                    }
                })
        }
    }

你可以像这样使用它:

txtValue.focusAndShowKeyboard()

就这样。快乐编码!!!:~)

 类似资料:
  • 我有一个编辑文本,我想自己处理输入,所以我不想在我点击它时(或者当选择改变、焦点改变、长时间点击等)软键盘出现。但是,我仍然希望能够选择文本、更改光标位置、复制/过去等。 我曾尝试将Android系统:windowSoftInputMode=“stateAllwayshidden”放入清单中,但似乎效果不大。我还尝试添加以下内容 这会禁用键盘,但也会阻止光标工作。 目前,我基本上是在尝试为键盘可能

  • 我有一个布局,其中包含RelativeLayout作为根布局,相对布局在顶部包含ListView,在相对布局的底部包含一个Edittext align。在Lollipop前版本的设备中,每当软键盘打开Edittext时,我就可以看到Edittext。但在Lollipop软键盘中隐藏了编辑文本。我已经在清单文件中设置了android:WindowsOfInputMode=“adjustPan|adj

  • 我在做计算器。所以我制作了自己的带有数字和函数的

  • 我有一个片段,其中包含一个ViewPager2的2个fragemnt。在第二个子片段中,我有一个回收器视图,其视图保持器包含 TextView 和 EditText。 在模拟器中,当我点击编辑视图时,软键盘一直关闭。 在真实设备(索尼xperia XA)中,软键盘没有关闭,但它总是关注第一个编辑文本,无论我是否在另一个编辑文本中单击 我曾尝试使用android:WindowsOfInputMode

  • 我正在尝试调整图像按钮正下方的软键盘,但它覆盖了图像按钮,使其无法单击。当用户单击编辑文本时,我希望按钮位于软键盘的正上方。我尝试过使用,但它似乎不起作用。 下面是我的布局。xml文件 在AndroidManifest中。我拥有的xml文件

  • 我的列表视图底部有一个编辑文本。当我点击编辑文本时,软键盘如预期的那样弹出,同时listview向上滑动,将编辑文本放置在键盘上方。然而,一旦我开始输入,ListView就会滑回来,EditText现在位于软键盘后面,挡住了输入的视图。我仍然可以打字,但是编辑文本被软键盘覆盖了。 如何使编辑文本在键盘上方可见? PS。我正在使用adjustPan 编辑:这是一个与我面临的问题相同的人的链接,但我看