安卓TV開發之自定義鍵盤

 

最近公司在搞智能電視APP開發,裏面涉及到許多常用功能,基本上TV開發都需要用到這些,比如說焦點選中框,自定義鍵盤等等,後面陸續記錄開發過程。本文重點介紹自定義鍵盤。

首先要說明的是安卓系統自帶有軟鍵盤,理論上來講是可以直接拿來用。如果是手機APP開發,確實是直接調用手機軟鍵盤,除了特殊場合需要自定義鍵盤,比如處於安全考慮的密碼鍵盤,或者輸入金額的鍵盤等。但是TV開發不行,不信你打開你家的電視機,會看到系統鍵盤嗎。一般不會,爲什麼,因爲遙控器不方便操作,而且電視上顯示系統鍵盤會很難看,這就是原因。所以自定義鍵盤成爲了TV開發APP的標配。

本着不重複造輪子的原則,去GitHub上看到的都是手機APP自定義鍵盤,沒辦法,只能自己動手。還好有前輩鋪路。他們是https://blog.csdn.net/downloadname/article/details/78558222https://blog.csdn.net/rookie_wei/article/details/72792741。在他們的基礎上實現了自己想要的功能,並且進行了封裝,方便調用。

最後的實現效果如下:

 

 

 

 

 

 

共實現了三種鍵盤:分別是純數字鍵盤,全字母鍵盤和九宮格鍵盤。大家可以按需使用。我給大家封裝好了,使用也很簡單。先看下工程目錄:

 

使用步驟僅僅兩步,真的只要兩步:

1,include鍵盤佈局文件;

2,new一個對象即可。

 

使用九宮格鍵盤,

在你的佈局文件中

        <include layout="@layout/nine_keybord"/>

然後直接調用即可,

        new NineKeyBord(NineKeyboardActivity.this);

 

 

 

使用全鍵盤,

    <include layout="@layout/all_keyboard" />

調用

        new AllCharacterKeyboardUtil(CharacterKeyboardActivity.this);

 

使用純數字鍵盤,

    <include layout="@layout/keyboard_number" />

調用

        new NumberKeyboardUtil(NumberKeyBoardActivity.this);

 

最後,每個開發自己的需求不一樣,可以下載源碼直接修改。有了這個工程作爲基礎,相信其他功能也難不倒聰明的你。

源碼下載地址:

https://download.csdn.net/download/zhangxiangliang2/10677416

 

 

參考:https://blog.csdn.net/downloadname/article/details/78558222

參考:https://blog.csdn.net/rookie_wei/article/details/72792741

 

 

 

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章