700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > android 自定义安全键盘 android 实现自定义安全键盘 且每次数字随机变换位置

android 自定义安全键盘 android 实现自定义安全键盘 且每次数字随机变换位置

时间:2018-06-29 09:34:54

相关推荐

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

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。