#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. спасибо, но если вы дадите мне пример кода, мне будет легче понять.