Android之前对于鼠标光标事件的监控非常少,4.0之后多了一个hover的组件,此组件可以监控鼠标光标在view上的变化。
代码如下:
代码如下 | 复制代码 |
publicclassHoverDemoActivityextendsActivity { privateButton btnBottom; @Override publicvoidonCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); btnBottom = (Button) findViewById(R.id.btn_bottom); btnBottom.setOnHoverListener(newOnHoverListener() { @Override publicbooleanonHover(View v, MotionEvent event) { intwhat = event.getAction(); switch(what){ caseMotionEvent.ACTION_HOVER_ENTER://鼠标进入view System.out.println("bottom ACTION_HOVER_ENTER"); break; caseMotionEvent.ACTION_HOVER_MOVE://鼠标在view上 System.out.println("bottom ACTION_HOVER_MOVE"); break; caseMotionEvent.ACTION_HOVER_EXIT://鼠标离开view System.out.println("bottom ACTION_HOVER_EXIT"); break; } returnfalse; } }); } } |
当view隐藏时,无法监控点击,触摸和hover事件。