Android:如何在按下按钮后使软键盘保持可见

时间:2018-11-02 13:01:36

标签: android android-edittext android-softkeyboard

我有一个带有edittext和一个按钮的屏幕。 Edittext具有属性

    android:focusable="true"
    android:focusedByDefault="true"
    android:focusableInTouchMode="true"

按钮具有与 false 值相同的属性。

按下按钮后,将更改edittext的重力。单击按钮时,edittext不会失去焦点。但是键盘隐藏了。

在这种情况下如何使键盘不隐藏并保持可见?

3 个答案:

答案 0 :(得分:0)

您可以以编程方式执行此操作。单击Button时调用此方法。

getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_VISIBLE);

getWindow().setSoftInputMode(WindowManager.LayoutParams.SOFT_INPUT_STATE_ALWAYS_VISIBLE);

答案 1 :(得分:0)

您也可以使用这样的标签来做到这一点:

 button.setTag(R.id.DONT_HIDE_KEYBOARD, "true");

并在values / ids.xml下添加:

  <item name="DONT_HIDE_KEYBOARD" type="id"/>

答案 2 :(得分:0)

尝试执行以下代码。这里的焦点是您的EditText。

fun closeInput(focus: View?) {
            val inputMethodManager = mActivity.getSystemService(Context.INPUT_METHOD_SERVICE) as InputMethodManager
            inputMethodManager.hideSoftInputFromWindow(focus?.windowToken, InputMethodManager.HIDE_NOT_ALWAYS)
}