下面列出了android.view.KeyEvent#KEYCODE_G 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
switch (keyCode) {
case KeyEvent.KEYCODE_R:
mViewModel.addRectLayer();
return true;
case KeyEvent.KEYCODE_T:
mViewModel.addTriangleLayer();
return true;
case KeyEvent.KEYCODE_O:
mViewModel.addOvalLayer();
return true;
}
if (mBinding.documentView.hasFocus()) {
switch (keyCode) {
case KeyEvent.KEYCODE_DEL:
case KeyEvent.KEYCODE_FORWARD_DEL:
return onContextMenuAction(DELETE);
}
if (event.isCtrlPressed()) {
switch (keyCode) {
case KeyEvent.KEYCODE_X:
return onContextMenuAction(CUT);
case KeyEvent.KEYCODE_C:
return onContextMenuAction(COPY);
case KeyEvent.KEYCODE_V:
return onContextMenuAction(PASTE);
case KeyEvent.KEYCODE_D:
return onContextMenuAction(DUPLICATE);
case KeyEvent.KEYCODE_G:
return onContextMenuAction(GROUP);
}
}
}
return super.onKeyDown(keyCode, event);
}
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_ENTER || keyCode == KeyEvent.KEYCODE_F3
|| (keyCode == KeyEvent.KEYCODE_G && event.isCtrlPressed())) {
mFindToolbar.hideKeyboardAndStartFinding(!event.isShiftPressed());
return true;
}
return super.onKeyDown(keyCode, event);
}
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_ENTER || keyCode == KeyEvent.KEYCODE_F3
|| (keyCode == KeyEvent.KEYCODE_G && event.isCtrlPressed())) {
mFindToolbar.hideKeyboardAndStartFinding(!event.isShiftPressed());
return true;
}
return super.onKeyDown(keyCode, event);
}
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_ENTER || keyCode == KeyEvent.KEYCODE_F3
|| (keyCode == KeyEvent.KEYCODE_G && event.isCtrlPressed())) {
mFindToolbar.startFinding(!event.isShiftPressed());
return true;
}
return super.onKeyDown(keyCode, event);
}
/**
* CTRL + C copy
* CTRL + V paste
* CTRL + B: compile
* CTRL + R generate
* CTRL + X cut
* CTRL + Z undo
* CTRL + Y redo
* CTRL + Q quit
* CTRL + S save
* CTRL + O open
* CTRL + F find
* CTRL + H find and replace
* CTRL + L format code
* CTRL + G: goto line
*/
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (DLog.DEBUG) Log.w(TAG, "onKeyDown: " + keyCode + " " + event);
if (handleControlKey(keyCode, event, false)) {
return true;
}
if (event.isCtrlPressed() || mKeyListener.mControlKey.isActive()) {
// Log.i(TAG, "onKeyDown: process");
switch (keyCode) {
case KeyEvent.KEYCODE_A:
selectAll();
return true;
case KeyEvent.KEYCODE_X:
cut();
return true;
case KeyEvent.KEYCODE_C:
copy();
return true;
case KeyEvent.KEYCODE_V:
paste();
return true;
case KeyEvent.KEYCODE_G: //go to line
if (editorControl != null)
editorControl.goToLine();
return true;
case KeyEvent.KEYCODE_L: //format
if (editorControl != null)
editorControl.formatCode();
return true;
case KeyEvent.KEYCODE_Z:
if (canUndo()) {
undo();
}
return true;
case KeyEvent.KEYCODE_Y:
if (canRedo()) {
redo();
}
return true;
case KeyEvent.KEYCODE_S:
if (editorControl != null)
editorControl.saveCurrentFile();
return true;
case KeyEvent.KEYCODE_N:
if (editorControl != null)
editorControl.saveAs();
return true;
default:
return super.onKeyDown(keyCode, event);
}
} else {
switch (keyCode) {
case KeyEvent.KEYCODE_TAB:
String textToInsert = mSettings.getTabStr();
int start, end;
start = Math.max(getSelectionStart(), 0);
end = Math.max(getSelectionEnd(), 0);
getText().replace(Math.min(start, end), Math.max(start, end),
textToInsert, 0, textToInsert.length());
return true;
default:
try {
return super.onKeyDown(keyCode, event);
} catch (Exception e) {
}
return false;
}
}
}
@Override
public boolean onKeyDown(int keyCode, KeyEvent event) {
if (keyCode == KeyEvent.KEYCODE_BACK || keyCode == KeyEvent.KEYCODE_BUTTON_B)
return super.onKeyDown(keyCode, event);
if (mIsLoading) {
switch (keyCode) {
case KeyEvent.KEYCODE_S:
case KeyEvent.KEYCODE_MEDIA_STOP:
exitOK();
return true;
}
return false;
}
showOverlayTimeout(OVERLAY_TIMEOUT);
switch (keyCode) {
case KeyEvent.KEYCODE_F:
case KeyEvent.KEYCODE_MEDIA_FAST_FORWARD:
case KeyEvent.KEYCODE_MEDIA_NEXT:
seekDelta(10000);
return true;
case KeyEvent.KEYCODE_R:
case KeyEvent.KEYCODE_MEDIA_REWIND:
case KeyEvent.KEYCODE_MEDIA_PREVIOUS:
seekDelta(-10000);
return true;
case KeyEvent.KEYCODE_BUTTON_R1:
seekDelta(60000);
return true;
case KeyEvent.KEYCODE_BUTTON_L1:
seekDelta(-60000);
return true;
case KeyEvent.KEYCODE_BUTTON_A:
if (mOverlayProgress.getVisibility() == View.VISIBLE)
return false;
case KeyEvent.KEYCODE_MEDIA_PLAY_PAUSE:
case KeyEvent.KEYCODE_MEDIA_PLAY:
case KeyEvent.KEYCODE_MEDIA_PAUSE:
case KeyEvent.KEYCODE_SPACE:
if (mIsNavMenu)
return navigateDvdMenu(keyCode);
else if (keyCode == KeyEvent.KEYCODE_MEDIA_PLAY_PAUSE) //prevent conflict with remote control
return super.onKeyDown(keyCode, event);
else
doPlayPause();
return true;
case KeyEvent.KEYCODE_O:
case KeyEvent.KEYCODE_BUTTON_Y:
case KeyEvent.KEYCODE_MENU:
showAdvancedOptions(mAdvOptions);
return true;
case KeyEvent.KEYCODE_V:
case KeyEvent.KEYCODE_MEDIA_AUDIO_TRACK:
case KeyEvent.KEYCODE_BUTTON_X:
onAudioSubClick(mTracks);
return true;
case KeyEvent.KEYCODE_N:
showNavMenu();
return true;
case KeyEvent.KEYCODE_A:
resizeVideo();
return true;
case KeyEvent.KEYCODE_M:
case KeyEvent.KEYCODE_VOLUME_MUTE:
updateMute();
return true;
case KeyEvent.KEYCODE_S:
case KeyEvent.KEYCODE_MEDIA_STOP:
exitOK();
return true;
case KeyEvent.KEYCODE_DPAD_UP:
case KeyEvent.KEYCODE_DPAD_DOWN:
case KeyEvent.KEYCODE_DPAD_LEFT:
case KeyEvent.KEYCODE_DPAD_RIGHT:
case KeyEvent.KEYCODE_DPAD_CENTER:
case KeyEvent.KEYCODE_ENTER:
if (mIsNavMenu)
return navigateDvdMenu(keyCode);
else
return super.onKeyDown(keyCode, event);
case KeyEvent.KEYCODE_J:
delayAudio(-50000l);
return true;
case KeyEvent.KEYCODE_K:
delayAudio(50000l);
return true;
case KeyEvent.KEYCODE_G:
delaySubs(-50000l);
return true;
case KeyEvent.KEYCODE_H:
delaySubs(50000l);
return true;
case KeyEvent.KEYCODE_VOLUME_DOWN:
case KeyEvent.KEYCODE_VOLUME_UP:
if (mMute) {
updateMute();
return true;
} else
return false;
}
return super.onKeyDown(keyCode, event);
}