鼠标滚轮的事件

    xiaoxiao2021-12-03  18

    最近项目需要增加鼠标滚轮控制缩放,看了下这部分的资料。 android处理鼠标滚轮事件,并 不是如下函数 :

    1) public boolean onKeyDown( int keyCode, KeyEvent event)

    2) public boolean dispatchKeyEvent(KeyEvent event) 3) public boolean onTouchEvent(MotionEvent event)

    而 是如下函数

    public boolean onGenericMotionEvent(MotionEvent event);

    所有View和Activity都可重写该函数,来自己处理滚轮事件,

    如下代码:

    /** * Implement this method to handle generic motion events. * 实现该方法来处理一般的MotionEvent; * 一般的motion events 描述,操纵杆的动作,鼠标honver、滚轮等 * * @param event The generic motion event being processed. * @return True if the event was handled, false otherwise. */

    @Override public boolean onGenericMotionEvent(MotionEvent event) { //The input source is a pointing device associated with a display. //输入源为可现实的指针设备,如:mouse pointing device(鼠标指针),stylus pointing device(尖笔设备) if (0 != (event.getSource() & InputDevice.SOURCE_CLASS_POINTER)) { switch (event.getAction()) { // process the scroll wheel movement…处理滚轮事件 case MotionEvent.ACTION_SCROLL: Log.e(“fortest::onGenericMotionEvent”, “MotionEvent.ACTION_SCROLL” ); //获得垂直坐标上的滚动方向,也就是滚轮向下滚 if( event.getAxisValue(MotionEvent.AXIS_VSCROLL) < 0.0f){ Log.i(“fortest::onGenericMotionEvent”, “down” ); } //获得垂直坐标上的滚动方向,也就是滚轮向上滚 else{ Log.i(“fortest::onGenericMotionEvent”, “up” ); } return true; } } return super.onGenericMotionEvent(event); }

    转载请注明原文地址: https://ju.6miu.com/read-679961.html

    最新回复(0)