2010-04-23 3 views
1

сложно проверить игру с помощью указателя мыши на кнопках Android. Я хотел бы управлять этими кнопками с помощью аппаратной клавиатуры. На самом деле я не хочу управлять самими кнопками, но я хочу контролировать поведение кнопок. Например, у меня есть 4 кнопки в приложении для Android с «стрелкой вверх, вниз, влево, вправо». Я бы хотел использовать кнопки со стрелками на моей аппаратной клавиатуре, чтобы управлять ими. Как я могу это сделать? На самом деле вопрос в том, где я могу установить Listener? Я что-то пробовал в своей деятельности. Я поставил этот приемник к кнопке приложения:Использование аппаратной клавиатуры для имитации нажатия кнопки на Android

 button.setOnKeyListener(new OnKeyListener() {   
     @Override 
     public boolean onKey(View v, int keyCode, KeyEvent event) { 
      if (keyCode == KeyEvent.KEYCODE_DPAD_DOWN) 
       //scroll down 
      return true; 
     } 
    }); 

поведением является следующее: я не могу прокручивать вниз с моей аппаратной клавиатурой, но с аппаратной клавиатурой можно выбрать андроид кнопки (они будут выделены, когда Я двигаюсь на любую кнопку). После того, как я выбрал кнопку со слушателем, я больше не могу выбрать какую-либо другую кнопку, но затем Слушатель вступает в силу. Теперь я могу прокрутить вниз с помощью клавишной клавиши со стрелкой вниз. Я хотел бы добиться такого поведения, не выбирая ни одной кнопки. Поэтому я подумал о том, чтобы установить слушателя в контейнер макета или любой другой макет, но это не влияет. Есть ли другой подход к этому?

+0

с Harware клавиатурой вы имеете в виду DPad? – Macarse

+0

Нет, я имею в виду «настоящую» клавиатуру с моего ПК. Я выбрал KEYCODE_DPAD_DOWN, потому что он работал с этим KeyEvent, но только когда я выбрал кнопку сначала, как я объяснил. – Bevor

ответ

Смежные вопросы