Как прочитать нажатие клавиши направления и что-то сделать в Android

#android #keyboard #move

#Android #клавиатура #переместить

Вопрос:

я пытаюсь научиться разработке приложений для Android. я хочу переместить объект, используя клавиши со стрелками вверх, вниз, вправо, влево. пожалуйста, кто-нибудь поможет мне в том, как прочитать нажатую клавишу направления и переместить объект.

Ответ №1:

Используйте это в своей деятельности

 @Override
public boolean onKeyDown(int keyCode, KeyEvent event) {



    if(keyCode==KeyEvent.KEYCODE_DPAD_DOWN)
    {
        //your code
 return false;
    }
    if(keyCode==KeyEvent.KEYCODE_DPAD_CENTER)
    {
          /*yourcode*/                                          

return false;
    }
    if(keyCode==KeyEvent.KEYCODE_DPAD_LEFT)
    {
        //your code                                         
return false;
    }
    if(keyCode==KeyEvent.KEYCODE_DPAD_RIGHT)
    {
        //your code                                         
return false;
    }
    if(keyCode==KeyEvent.KEYCODE_DPAD_UP)
    {
        //your code                                         
return false;
    }
    return super.onKeyDown(keyCode, event);
}
  

Отредактированный код

 @Override
public boolean onKeyDown(int keyCode, KeyEvent event) {

    if(keyCode==KeyEvent.KeyEvent.KEYCODE_DPAD_CENTER)
    {
        Toast.makeText(<Activity_name>.this, "Application Quits", Toast.LENGTH_SHORT).show();
          finish();
          return false;
    }

    return super.onKeyDown(keyCode, event);
}
  

Комментарии:

1. я пробовал ваш метод, но когда я запускаю приложение, программа каждый раз вылетает

2. пожалуйста, если вы дадите мне пример полного кода, реализующего только одну клавишу, это будет большим подспорьем.

3. используйте этот метод вне onCreate

Ответ №2:

переопределите функцию onkeydown и сравните код ключа с KeyEvent.KEYCODE_DPAD_DOWN etcccccc

Комментарии:

1. спасибо, но если вы дадите мне пример кода, мне будет легче понять.