Как определить, была ли нажата клавиша Shift при вызове обработчика onClick? - PullRequest
1 голос
/ 26 февраля 2020

Я пишу приложение для Chromebook в Java.

В моем обработчике событий onClick() как я могу определить, была ли нажата клавиша Shift при нажатии

Ответы [ 2 ]

0 голосов
/ 26 февраля 2020

Вот код, который я использовал для реализации этого:

int shiftHeld = 0;

@Override
    public boolean onKeyUp(int keyCode, KeyEvent event) {
        if (keyCode == KeyEvent.KEYCODE_SHIFT_LEFT || keyCode == KeyEvent.KEYCODE_SHIFT_RIGHT)
            shiftHeld = 0;
                return super.onKeyUp(keyCode, event);
    }

    @Override
    public boolean onKeyDown(int keyCode, KeyEvent event) {
        if (keyCode == KeyEvent.KEYCODE_SHIFT_LEFT || keyCode == KeyEvent.KEYCODE_SHIFT_RIGHT)
            shiftHeld = 1;
        return super.onKeyDown(keyCode, event);
    }
0 голосов
/ 26 февраля 2020

Вы можете использовать boolean, который вы положили на true onKeyDown() и на false onKeyUp().

Вот несколько Do c, чтобы помочь вам: https://developer.android.com/training/keyboard-input/commands

...