Android自帶的軟鍵盤上面移動焦點

2021-06-16 16:45:44 字數 933 閱讀 2832

android系統上面的輸入法,針對手機使用者,已經做的比較完善了,但是如果在tv上面跑的話,就需要做一些改動。

比如,對軟鍵盤的操作,我們不能去觸控電視螢幕,只能靠焦點的移動去選擇我們需要的資訊。

下面針對軟鍵盤上面焦點的移動做一些關鍵點說明:

1、除錯使用的是自帶的demo:softkeyboard,跑起來之後,是不能控制焦點的。

參考了源**裡面的pinyinime,在pinyinime裡面,是可以通過方向鍵選擇候選區中候選詞的。

2、軟鍵盤上面每乙個鍵值控制,參考**:

keyboard current = minputview.getkeyboard();

key mkeys;

key key;

listkeys = current.getkeys();

mkeys = keys.toarray(new key[keys.size()]);

key = mkeys[keynumber];

current是當前的鍵盤類,minputview是keyboardview類

每乙個mkeys是乙個鍵子,可以得到鍵盤的鍵子個數:mkeys.length

鍵子所佔的區域:keyx.x,key.y,key.width,key.height

3、在latinkeyboardview中重寫ondraw,畫乙個焦點出來

private drawable mactivecelldrawable;

mactivecelldrawable.setbounds(x,y,w,h);

mactivecelldrawable.draw(canvas);

setbounds裡面就是軟鍵盤的鍵子區域

注意ondraw裡面不要忘記:invalidate(); 哦

4、呵呵,接下來就簡單了,只需要我們在響應onkeydown的時候,根據方向鍵,變化鍵子座標就可以了

Android軟鍵盤的控制以及更改軟鍵盤

edittext是可編輯控制項,往往會為它新增監聽,在軟鍵盤上也會有行為。1 隱藏軟鍵盤 inputmethodmanager imm inputmethodmanager getsystemservice context.inputmethodservice imm.hidesoftinputfr...

android遮蔽軟鍵盤

android name mainactivity android screenorientation landscape android windowsoftinputmode adjustpan statehidden android configchanges orientation keyb...

Android 軟鍵盤互動

方法很簡單,在edittext中設定兩個屬性 android imeoptions actionsearch android singleline true 這兩個屬性必須一起設定,不然不會生效。在沒有設定imeoptions屬性的情況下,設定了inputtype或者singleline true ...