有个Android TV浏览网页的需求,用webview实现

加载完百度首页手机版之后,使用上下左右键移动焦点,都是获焦不到搜索框上面
使用TAB可以把焦点移动到搜索框
所以考虑把方向下键改为tab键

先是重写了onKeyDown方法,发现只有back(ESC)键能响应。
后来看到一个博客

重写dispatchKeyEvent方法

    @Override
    public boolean dispatchKeyEvent(KeyEvent event) {
        Log.d("keyCode is : ", String.valueOf(event.getKeyCode()));
        if (event.getKeyCode() == KeyEvent.KEYCODE_DPAD_DOWN) {
            KeyEvent tabKeyEvent = new KeyEvent(KeyEvent.ACTION_DOWN, KeyEvent.KEYCODE_TAB);
            mWebView.dispatchKeyEvent(tabKeyEvent);
            mWebView.requestFocus();
            return true;
        }
        return super.dispatchKeyEvent(event);
    }
Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐