android 自定义安全键盘,android 实现自定义安全键盘 且每次数字随机变换位置
但是沒有實現隨機鍵盤 本次以該demo中的數字鍵盤為例
如何在每次打開鍵盤的時候都變換對應按鍵的位置
在設置自定義鍵盤keyboardView.setKeyboard(keyboard) 之前 隨機排列每一個按鍵
// 這里以數字鍵盤為例 獲取到鍵盤原有的按鍵 隨機排列 然后在重新賦值
for(Keyboard.Key item : keyboardNumberOnly.getKeys()){
int[] i = item.codes;
}
// 隨機排序數字
Collections.shuffle(keyCodes);
// 遍歷所有的按鍵
List keys = keyboardNumberOnly.getKeys();
int index = 0;
for (Keyboard.Key key : keys) {
int code = key.codes[0];
// 如果按鍵是數字 去除左下角和右下角的非數字鍵
if ( code != -5 && code != -2) {
char keyCode = keyCodes.get(index++);
key.codes[0] = keyCode;
key.label = Character.toString(keyCode);
}
}
這里有一個判斷 if(code != -5 && code != -2) 這和定義的鍵盤xml有關
貼出代碼 keyboard_num_only.xml
android:horizontalGap="2.5%p"
android:keyWidth="30%p"
android:keyHeight="@dimen/key_num_height"
android:verticalGap="@dimen/key_vertical_gap">
android:codes="49"
android:keyLabel="1" />
android:codes="50"
android:keyLabel="2" />
android:codes="51"
android:keyLabel="3" />
android:codes="52"
android:keyLabel="4" />
android:codes="53"
android:keyLabel="5" />
android:codes="54"
android:keyLabel="6" />
android:codes="55"
android:keyLabel="7" />
android:codes="56"
android:keyLabel="8" />
android:codes="57"
android:keyLabel="9" />
android:codes="-2"
android:keyLabel="abc" />
android:codes="48"
android:keyLabel="0" />
android:codes="-5"
android:isRepeatable="true" />
-5和-2 是底部角落里的兩個固定按鍵 效果如圖
隨機鍵盤.png
總結
以上是生活随笔為你收集整理的android 自定义安全键盘,android 实现自定义安全键盘 且每次数字随机变换位置的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: android动态监听事件,Androi
- 下一篇: android倒计时录制视频下载,and