Как скрыть нижнюю кнопку, когда клавиатура открыта в котлин?

В моем макете есть EditText и Button.

моя кнопка выровнена по родительскому принципу. Поэтому всякий раз, когда я пытаюсь набрать что-то в кнопке edittext, это происходит.

Поэтому, чтобы скрыть кнопку, я попробовал ее как: `

fun hideButton(editText: EditText, button: Button) { editText.viewTreeObserver.addOnGlobalLayoutListener { val r = Rect() editText.getWindowVisibleDisplayFrame(r) val screenHeight = editText.rootView.height val keypadHeight = screenHeight - r.bottom if (keypadHeight > screenHeight * 0.15) { // keyboard is open button.visibility = View.GONE } else { // keyboard is closed button.visibility = View.VISIBLE } } } 

и назвал эту функцию следующим:

  edText?.setOnClickListener { hideButton(edName!!, btnSave!!) } 

но до сих пор не удалось скрыться.

Попробуйте использовать это:

  editText.setOnFocusChangeListener(new View.OnFocusChangeListener() { @Override public void onFocusChange(View view, boolean b) { if(b){ //Hide button here }else{ //Show button here } } }); 

Надеюсь это поможет.

Редактировать: версия Kotlin-

 editText.onFocusChangeListener = View.OnFocusChangeListener { view, b -> if (b) { //Hide Button } else { //Show Button } }