屏蔽掉viewpager中按左右键进行切换功能

来源:互联网 发布:怎么注销淘宝卖家账户 编辑:程序博客网 时间:2024/06/11 05:21
最近,在做机顶盒的项目时用到了viewpager,通过按左右键让界面之间进行切换,不加任何处理的viewpager可以正常滑动,但是后来领导要屏蔽这个功能,试了网上好多方法都无法屏蔽左右滑动,后来看源码发现了这个
/**     * You can call this function yourself to have the scroll view perform     * scrolling from a key event, just as if the event had been dispatched to     * it by the view hierarchy.     *     * @param event The key event to execute.     * @return Return true if the event was handled, else false.     */    public boolean executeKeyEvent(KeyEvent event) {        boolean handled = false;        if (event.getAction() == KeyEvent.ACTION_DOWN) {            switch (event.getKeyCode()) {                case KeyEvent.KEYCODE_DPAD_LEFT:                    handled = arrowScroll(FOCUS_LEFT);                    break;                case KeyEvent.KEYCODE_DPAD_RIGHT:                    handled = arrowScroll(FOCUS_RIGHT);                    break;                case KeyEvent.KEYCODE_TAB:                    if (Build.VERSION.SDK_INT >= 11) {                        // The focus finder had a bug handling FOCUS_FORWARD and FOCUS_BACKWARD                        // before Android 3.0. Ignore the tab key on those devices.                        if (KeyEventCompat.hasNoModifiers(event)) {                            handled = arrowScroll(FOCUS_FORWARD);                        } else if (KeyEventCompat.hasModifiers(event, KeyEvent.META_SHIFT_ON)) {                            handled = arrowScroll(FOCUS_BACKWARD);                        }                    }                    break;            }        }        return handled;    }

发现里边有控制左右键的代码,那好了,在自定义的viewpager内直接重写该方法,让该方法返回false就ok了

@Override    public boolean executeKeyEvent(KeyEvent event) {        //屏蔽左右滑动        return false;    }


0 0
原创粉丝点击