在 Android 中,有没有一种方法可以让 Android 应用程序在活动时捕获并处理所有关键事件(可能还有触摸事件),然后再将它们传递到应该处理它的实际视图?
我知道我们可以在 Activity 中使用 onKeyDown 或类似方法来处理 keyevent,但只有当它的子视图都没有在内部处理它时才会触发它。这些视图通常是 ListView、GridView、ScrollView 等。
我想找到一种方法,在将 keyEvent 传递给这些视图之前调用我的 keyHandler 方法。
我的 keyHandler 中的实现将非常简单。它只会在每个事件上播放一个音调,就像按键音一样,然后将其转发以按照这些视图或 Android 框架应有的方式进行处理。
想知道它是否可能是因为我不想为每个活动中的每个视图编写 onKeyListener,因为我有很多活动和很多视图,而且在任何地方都很难编写相同的代码。如果有办法,我可以在 BaseActivity 中实现它并由此派生我的所有活动,然后继续使用默认密钥处理程序。