Tôi muốn ứng dụng của mình hỗ trợ phím tắt. Nhiều thiết bị, chẳng hạn như Asus Transformer
có bàn phím bên ngoài có phím số Ctrl (có sẵn trên API cấp 11). Tôi đã thực hiện một số mã, để kiểm tra xem Ctrl công trình quan trọng trong việc giả lập:Phím tắt tùy chỉnh
@Override
public boolean dispatchKeyEvent(KeyEvent event) {
if(Build.VERSION.SDK_INT>10 &&
event.getAction()==KeyEvent.ACTION_DOWN &&
event.isCtrlPressed()){
String actionType="NONE";
final int keyCode = event.getKeyCode();
switch(keyCode){
case KeyEvent.KEYCODE_C:
actionType = "COPY";
break;
case KeyEvent.KEYCODE_V:
actionType = "PASTE";
break;
case KeyEvent.KEYCODE_X:
actionType = "CUT";
break;
case KeyEvent.KEYCODE_R:
actionType = "REFRESH";
break;
case KeyEvent.KEYCODE_A:
actionType = "SELECT ALL";
break;
}
Toast.makeText(ctx, actionType, Toast.LENGTH_SHORT).show();
return true;
}
return super.dispatchKeyEvent(event);
}
Đáng tiếc là nó không hoạt động trong giả lập và tôi không thể kiểm tra xem nó trên phần cứng thực sự.
Tôi có hai câu hỏi:
1. Nó có hoạt động trên thiết bị như Asus Transformer
không?
2. Tại sao Phím Ctrl không hoạt động trong trình mô phỏng?
EDIT: Tôi đã cố gắng tìm câu trả lời hoặc giải pháp cho vấn đề của mình, nhưng cả Google cũng như SO đều không giúp được gì.
không có phím CTRL trên hầu hết các thiết bị (ít nhất không phải trên hầu hết bàn phím mềm) – njzk2
Nhưng điều gì về bàn phím phần cứng với phím CTRL? – RedScorpio