與鍵盤的互動一般都簡化成輸入內容,或者改為由滑鼠來控制會比較多,因為b/s架構的系統或者**其實不大需要跟鍵盤有互動,用滑鼠就可以全部都實現了,這也是為了提公升使用者體驗的滿意度。不過現在網頁遊戲這麼流行,雖然大部分操作也還是只需要滑鼠就可以了,但還是支援鍵盤快捷鍵的。因此鍵盤互動也並非完全沒有用武之地了,至少能支援快捷鍵操作就是一種不錯的體驗。
axurerp支援鍵盤互動,也不能說是支援,只是用axurerp能夠實現鍵盤互動操作的效果,可以用來做需要操作鍵盤控制的產品原型,比如計算器、熱鍵切換等,其實熱鍵切換就是快捷鍵操作。這裡介紹的例子就是演示鍵盤互動效果的,利用鍵盤來控制動態面板的移動。
實現原理是通過乙個單行文字框來判斷鍵盤輸入內容,再通過onkeyup事件來控制動態面板移動,並需要每次都清空單行文字框,以此來達成效果。
這裡的效果是通過鍵盤上常用的四個方向控制鍵w,s,a,d來控制圖中小人的移動,移動本身的設定是比較簡單的,有兩個地方需要注意,一是頁面載入之後要讓焦點預設在單行輸入框內,否則無法做輸入控制;二是每次輸入完畢之後要對輸入框做清空設定,以便下次輸入後還能再次做判斷。axurerp在執行互動動作的時候不是實時響應的,所以在輸入的時候要主要輸入速度,否則連續輸入兩個字元之後就判斷不出來了。
還有一點就是單行輸入框的顯示問題,這個為了達到比較好的鍵盤互動效果,是要把它隱藏的,這裡的控制是將它放置在乙個動態面板下,然後縮小動態面板,以此達到隱藏的控制,大家在檢視原始檔的時候全選一下就看到了。
鍵盤互動效果就是這樣了,原理是很簡單的,能在實際應用當中想到是最重要的。
示例在axurerp 5.5版本下除錯通過
鍵盤彈出遲鈍
在開發中遇到鍵盤彈出時反應遲鈍一般是因為使用了第三方鍵盤,像 搜狗輸入法這種第三方鍵盤,比系統鍵盤耗時,原因是 因為第三方鍵盤或者是在鍵盤加個 會導致執行三次,可以使用 去判斷 cgrect begin note userinfo objectforkey uikeyboardframebeginu...
Android彈出輸入鍵盤
需求 進入activity後edittext就獲取到焦點,就彈出輸入鍵盤。參考 和 摘要 開啟軟鍵盤 view為接受軟鍵盤輸入的檢視,show forced表示強制顯示 public static void openwindowsoftinput context context,view view ...
android 鍵盤不彈出
inputmethodmanager.togglesoftinput 0,inputmethodmanager.hide implicit only 1 隱藏軟鍵盤 inputmethodmanager getsystemservice input method service hidesoftin...