Как скрыть клавиатуру и кнопку одновременно при нажатии кнопки «Назад» на устройстве / телефоне - PullRequest
0 голосов
/ 24 августа 2018

Как скрыть клавиатуру и кнопку при нажатии кнопки «Назад» на устройстве / телефоне?

@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
        if (keyCode == KeyEvent.KEYCODE_BACK) {
            InputMethodManager imm = (InputMethodManager) getSystemService(Context.INPUT_METHOD_SERVICE);
            imm.hideSoftInputFromWindow(getCurrentFocus().getWindowToken(), 0);
            button.setVisibility(View.GONE);
            return true;
        }
        return false;
}

Ответы [ 3 ]

0 голосов
/ 24 августа 2018

Ниже onKeyDown метод - это вызов при нажатии button:

public boolean onKeyDown(int keyCode, KeyEvent event) {
        if (keyCode == KeyEvent.KEYCODE_BACK) {
            onBackPressed(); \\Method call hear
            return true;
        }
        return super.onKeyDown(keyCode, event);
    }

Теперь вызовите функцию скрытия клавиатуры в onBackPressed()

@Override
    public void onBackPressed() {
    InputMethodManager imm = (InputMethodManager)getSystemService(Context.INPUT_METHOD_SERVICE);
    .hideSoftInputFromWindow(mainLayout.getWindowToken(), 0);
    button.setVisibility(View.GONE); //Hide your button this way
    }
0 голосов
/ 24 августа 2018

Шаг 1: Напишите метод, который скрывает программную клавиатуру.

Шаг 2: Когда пользователи нажимают клавишу Back, система вызывает onBackPressedметод в вашей деятельности.Таким образом, вы должны скрыть программную клавиатуру и кнопку там.

Добавьте это к своей деятельности:

public void hideSoftKeyboard(Context context, View view) {
        InputMethodManager imm =
                (InputMethodManager) context.getSystemService(Context.INPUT_METHOD_SERVICE);
        if (imm != null) {
            imm.hideSoftInputFromWindow(view.getWindowToken(), 0);
        }
}

@Override
public void onBackPressed() {
    super.onBackPressed();

    // Hide the soft keyboard
    hideSoftKeyboard(this, button);

    // Hide the button
    button.setVisibility(View.GONE);
}
0 голосов
/ 24 августа 2018

вызов onBackPressed () действия

 @Override
 public void onBackPressed() {
 super.onBackPressed();
 public static void hideSoftKeyboard(Activity activity) {
        final InputMethodManager inputMethodManager = (InputMethodManager) activity.getSystemService(Activity.INPUT_METHOD_SERVICE);
        if (inputMethodManager.isActive()) {
            if (activity.getCurrentFocus() != null) {
                inputMethodManager.hideSoftInputFromWindow(activity.getCurrentFocus().getWindowToken(), 0);
            }
        }
    }
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...