下面列出了android.view.KeyEvent#dispatch ( ) 实例代码,或者点击链接到github查看源代码,也可以在右侧发表评论。
/**
* Take care of dispatching incoming key events to the appropriate
* callbacks on the service, and tell the client when this is done.
*/
@Override
public void dispatchKeyEvent(int seq, KeyEvent event, EventCallback callback) {
boolean handled = event.dispatch(AbstractInputMethodService.this,
mDispatcherState, this);
if (callback != null) {
callback.finishedEvent(seq, handled);
}
}
/**
* Called to process key events. You can override this to intercept all
* key events before they are dispatched to the window. Be sure to call
* this implementation for key events that should be handled normally.
*
* @param event The key event.
*
* @return boolean Return true if this event was consumed.
*/
@Override
public boolean dispatchKeyEvent(@NonNull KeyEvent event) {
if ((mOnKeyListener != null) && (mOnKeyListener.onKey(this, event.getKeyCode(), event))) {
return true;
}
if (mWindow.superDispatchKeyEvent(event)) {
return true;
}
return event.dispatch(this, mDecor != null
? mDecor.getKeyDispatcherState() : null, this);
}
private boolean emulateShiftHeldForWebView(View view)
{
try
{
KeyEvent shiftPressEvent = new KeyEvent(0, 0, KeyEvent.ACTION_DOWN, KeyEvent.KEYCODE_SHIFT_LEFT, 0, 0);
shiftPressEvent.dispatch(view, null, null);
return true;
}
catch (Exception e)
{
KCLog.e(e);
}
return false;
}
/**
* Called to process key events. You can override this to intercept all
* key events before they are dispatched to the window. Be sure to call
* this implementation for key events that should be handled normally.
*
* @param event
* The key event.
* @return boolean Return true if this event was consumed.
*/
public boolean dispatchKeyEvent(KeyEvent event) {
if ((mOnKeyListener != null) && (mOnKeyListener.onKey(this, event.getKeyCode(), event))) {
return true;
}
if (mWindow.superDispatchKeyEvent(event)) {
return true;
}
return event
.dispatch(this, mDecor != null ? mDecor.getKeyDispatcherState() : null, this);
}
@Override
public boolean dispatch(KeyEvent event, KeyEvent.Callback receiver, Object state,
Object target) {
return event.dispatch(receiver);
}
public boolean dispatch(KeyEvent event, Callback receiver, Object state, Object target) {
return event.dispatch(receiver);
}
@Override
public boolean dispatchKeyEvent(KeyEvent event) {
// Gallery steals all key events
return event.dispatch(this, null, null);
}
public static boolean a(KeyEvent keyevent, android.view.KeyEvent.Callback callback, Object obj, Object obj1)
{
return keyevent.dispatch(callback, (android.view.KeyEvent.DispatcherState)obj, obj1);
}
public void a(KeyEvent keyevent)
{
keyevent.dispatch(a.i);
}
@Override
public boolean dispatch(KeyEvent event, KeyEvent.Callback receiver, Object state,
Object target) {
return event.dispatch(receiver);
}
@Override
public void handleKey(KeyEvent key) {
key.dispatch(mKeyEventCallback);
}
@Override
public void handleKey(KeyEvent key) {
key.dispatch(mKeyEventCallback);
}
@Override
public boolean dispatch(KeyEvent event, KeyEvent.Callback receiver, Object state,
Object target) {
return event.dispatch(receiver);
}
public static boolean dispatch(KeyEvent event, KeyEvent.Callback receiver, Object state,
Object target) {
return event.dispatch(receiver, (KeyEvent.DispatcherState)state, target);
}
@Override
public void handleKey(KeyEvent key) {
key.dispatch(mKeyEventCallback);
}
@Override
public boolean dispatchKeyEvent(KeyEvent event) {
final View decor = mActivity.getWindow().getDecorView();
return event.dispatch(mActivity, decor != null ? decor.getKeyDispatcherState() : null, mActivity);
}
@Override
public boolean dispatchKeyEvent(KeyEvent event) {
View view = mMasterFragment.getView();
return event.dispatch(mMasterFragment, view != null ? view.getKeyDispatcherState() : null, this);
}
@Override
public boolean dispatch(KeyEvent event, KeyEvent.Callback receiver, Object state,
Object target) {
return event.dispatch(receiver);
}
@Override
public void handleKey(KeyEvent key) {
key.dispatch(mKeyEventCallback);
}
public static boolean dispatch(KeyEvent event, KeyEvent.Callback receiver, Object state,
Object target) {
return event.dispatch(receiver, (KeyEvent.DispatcherState)state, target);
}