我的任务是通过良好的嵌入(库变体)接收android应用程序中的所有运动事件。我创建了Window.Callback包装器。
public class WindowCallback implements Window.Callback {
private final Window.Callback wrapper;
public WindowCallback(Window.Callback callback) {
this.wrapper = callback;
}
@Override
public boolean dispatchKeyEvent(KeyEvent event) {
return wrapper.dispatchKeyEvent(event);
}
@Override
public boolean dispatchKeyShortcutEvent(KeyEvent event) {
return wrapper.dispatchKeyShortcutEvent(event);
}
@Override
public boolean dispatchTouchEvent(MotionEvent event) {
return wrapper.dispatchTouchEvent(event);
}
// other methods omitted
}
Run Code Online (Sandbox Code Playgroud)
然后,在中实例化它Activity:
final Window window = getWindow();
final Window.Callback windowCallback = window.getCallback();
final WindowCallback callbackWrapper = new WindowCallback(windowCallback);
window.setCallback(interceptCallback);
Run Code Online (Sandbox Code Playgroud)
但是当我Toolbar进入时Activity,此方法或方法将Toolbar捕获。框架中的代码片段:Window.CallbacksetActionBar(Toolbar) …
android android-support-library android-toolbar android-window