亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

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)文章

  • Android實(shí)現(xiàn)隨機(jī)生成驗(yàn)證碼

    Android實(shí)現(xiàn)隨機(jī)生成驗(yàn)證碼

    在登錄注冊(cè)軟件時(shí),經(jīng)常會(huì)要求填寫隨機(jī)驗(yàn)證碼,這篇文章為大家詳細(xì)主要介紹了Android實(shí)現(xiàn)隨機(jī)生成驗(yàn)證碼,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-08-08
  • Android?Jetpack組件ViewModel基本用法詳解

    Android?Jetpack組件ViewModel基本用法詳解

    這篇文章主要為大家介紹了Android?Jetpack組件ViewModel基本用法詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-01-01
  • Android中Handler實(shí)現(xiàn)倒計(jì)時(shí)的兩種方式

    Android中Handler實(shí)現(xiàn)倒計(jì)時(shí)的兩種方式

    本篇文章主要介紹了Android中Handler實(shí)現(xiàn)倒計(jì)時(shí)的兩種方式,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-07-07
  • Android把Bitmap保存為PNG圖像文件的簡(jiǎn)單代碼

    Android把Bitmap保存為PNG圖像文件的簡(jiǎn)單代碼

    這篇文章主要介紹了Android把Bitmap保存為PNG圖像文件的方法,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下
    2017-08-08
  • Android Glide常見使用方式講解

    Android Glide常見使用方式講解

    對(duì)于Glide這個(gè)加載圖片的框架,很多人都在用,我之前使用的是ImageLoader,最近查資料時(shí),發(fā)現(xiàn)Glide才是Google推薦的加載圖片框架,功能非常強(qiáng)大,而且還有Google專人維護(hù),要知道,ImageLoader已經(jīng)沒人維護(hù)了,除了問題可沒人解答。所以有必要整理一下Glide的使用
    2023-01-01
  • Android開發(fā)微信小程序路由跳轉(zhuǎn)方式

    Android開發(fā)微信小程序路由跳轉(zhuǎn)方式

    這篇文章主要為大家介紹了Android開發(fā)微信小程序路由跳轉(zhuǎn)方式,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步早日升職加薪
    2022-04-04
  • Android應(yīng)用獲取設(shè)備序列號(hào)的方法

    Android應(yīng)用獲取設(shè)備序列號(hào)的方法

    本篇文章主要介紹了Android應(yīng)用獲取設(shè)備序列號(hào)的方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-06-06
  • Android編程實(shí)現(xiàn)wifi掃描及連接的方法

    Android編程實(shí)現(xiàn)wifi掃描及連接的方法

    這篇文章主要介紹了Android編程實(shí)現(xiàn)wifi掃描及連接的方法,涉及Android網(wǎng)絡(luò)操作掃描、查找、連接、線程等相關(guān)操作技巧,需要的朋友可以參考下
    2018-02-02
  • android使用surfaceview+MediaPlayer播放視頻

    android使用surfaceview+MediaPlayer播放視頻

    這篇文章主要為大家詳細(xì)介紹了android使用surfaceview+MediaPlayer播放視頻,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-11-11
  • Android 適配器模式應(yīng)用及設(shè)計(jì)原理

    Android 適配器模式應(yīng)用及設(shè)計(jì)原理

    這篇文章主要介紹了Android 適配器模式應(yīng)用及設(shè)計(jì)原理的相關(guān)資料,Android開發(fā)者應(yīng)該都知道適配器會(huì)用,但是不是多清楚原理,這里幫大家分析下原理,需要的朋友可以參考下
    2016-10-10

最新評(píng)論