您的位置:首页 > 移动开发 > Android开发

鼠标滚轮的事件

2016-11-18 15:03 330 查看
最近项目需要增加鼠标滚轮控制缩放,看了下这部分的资料。

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);

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  android