我在 GTV 中有一个活动,其布局包含垂直 ScrollView 内的水平 ScrollView。水平 ScrollView 包含许多按钮,使用嵌套的垂直和水平线性布局按行排列。(如果您想知道为什么有人会设计如此疯狂的 UI,这是电视的 EPG!)
在我的活动代码中,我重写了 onKeyDown,并针对某些按键执行了各种自定义操作。这工作正常,除了向上和向下翻页键。我放在 *case KeyEvent.KEYCODE_PAGE_DOWN:* 下的任何代码都不会运行。实际上,当按下这些键时,根本不会触发 onKeyDown 方法。
但是我可以看到操作系统正在接收这些按键,并且正在对它们进行操作(页面正在向上和向下滚动)。
我已经在 2 个不同的物理 GTV 设备(来自不同的制造商)上对此进行了测试,两者都存在问题。
如果有人可以提出解决方案,我将非常感激:)