最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Android物理鍵盤事件解析

 更新時(shí)間:2019年12月25日 12:14:30   作者:張三滴張呀  
這篇文章主要為大家詳細(xì)介紹了Android物理鍵盤事件,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下

前言

Android設(shè)備連接物理鍵盤其實(shí)是個(gè)挺小眾的需求,其實(shí)Android設(shè)備本身就是支持物理鍵盤,dispatchKeyEvent()這個(gè)方法就可以監(jiān)聽物理鍵盤,這里提供一個(gè)封裝的類,解析鍵盤事件。有很多事件,具體可以去看KeyEvent這個(gè)類的源碼,我這里只處理的數(shù)字鍵盤。

實(shí)現(xiàn)方式

1.鍵盤事件解析類

public class DispatchKeyResolver {

 public OnKeyInputListener keyInputListener;

 public void resolveKeyEvent(KeyEvent event) {
  getInputChar(event);
 }

 public void getInputChar(KeyEvent event) {
  int keyCode = event.getKeyCode();
  char aChar;
  if(keyCode >= KeyEvent.KEYCODE_0 && keyCode <= KeyEvent.KEYCODE_9) {
   //數(shù)字
   aChar = (char) ('0' + keyCode - KeyEvent.KEYCODE_0);
  } else if(keyCode >= KeyEvent.KEYCODE_NUMPAD_0 && keyCode <= KeyEvent.KEYCODE_NUMPAD_9) {
   //數(shù)字
   aChar = (char) ('0' + keyCode - KeyEvent.KEYCODE_NUMPAD_0);
  } else {
   //其他符號(hào)
   switch(keyCode) {
    case KeyEvent.KEYCODE_PERIOD:
     aChar = '.';
     break;
    case KeyEvent.KEYCODE_NUMPAD_DOT:
     aChar = '.';
     break;
    default:
     return;
   }
  }
  keyInputListener.onKeyInput(aChar);
 }

 public void setKeyInputListener(OnKeyInputListener keyInputListener) {
  this.keyInputListener = keyInputListener;
 }

 public interface OnKeyInputListener {
  void onKeyInput(char aChar);
 }
}

2.設(shè)置監(jiān)聽

DispatchKeyResolver dr = new DispatchKeyResolver();
 //設(shè)置事件回調(diào)
 dr.setKeyInputListener(...) 
  
 @Override
 public boolean dispatchKeyEvent(KeyEvent event) {
  //物理鍵確定,并且是按下的行為(避免兩次響應(yīng))
  if(event.getKeyCode() == KeyEvent.KEYCODE_ENTER && event.getAction() == KeyEvent.ACTION_DOWN){
   dr.resolveKeyEvent(event)
  }
 return super.dispatchKeyEvent(event);
} 

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

最新評(píng)論

高碑店市| 仪征市| 侯马市| 开原市| 社会| 镇平县| 张北县| 大新县| 博野县| 三明市| 金阳县| 浪卡子县| 灌云县| 都匀市| 白银市| 渝中区| 雅安市| 札达县| 嘉义县| 正定县| 津南区| 阜康市| 读书| 尼勒克县| 横山县| 漾濞| 区。| 都匀市| 通河县| 北川| 玛曲县| 洛隆县| 新田县| 平原县| 萝北县| 海兴县| 岐山县| 固安县| 池州市| 安福县| 东丽区|