java如何知道Android Studio中键入的字母表是否为大写?
对于不包含大写字母的字母表,返回的键码介于29到54之间。我甚至尝试了iscapslocon()方法来区分大写字母和小写字母,但没有成功
public boolean onKeyDown(int keyCode, KeyEvent event) {
try {
if (keyCode >= 29 && keyCode <= 54) {
if (event.isCapsLockOn()) {
dos.writeInt(keyCode + 36);
dos.flush();
}else{
dos.writeInt(keyCode+68);
dos.flush();
}
}else if(keyCode>=7 && keyCode<=16){
dos.writeInt(keyCode+41);
dos.flush();
}
else {
switch (keyCode) {
case 62: //space
dos.writeInt(32);
break;
case 66:// enter
dos.writeInt(10);
break;
default:
break;
}
}
}catch (Exception e){
}
return super.onKeyDown(keyCode, event);
}
请告诉我是否有办法识别字母表是否为大写!!提前谢谢
# 1 楼答案
你可以简单地使用
如果字符为大写,则返回true
参见this link了解isUpperCase(char c)的解释,以及this link获取KeyEvent的char
# 2 楼答案
所以我通过使用getUnicode dechar()方法来解决这个问题。我会发布我的解决方案,以防将来对某人有所帮助