Android基于hover组件实现监控鼠标移动事件的方法

本文实例讲述了Android基于hover组件实现监控鼠标移动事件的方法。分享给大家供大家参考,具体如下:

Android之前对于鼠标光标事件的监控非常少,4.0之后多了一个hover的组件,此组件可以监控鼠标光标在view上的变化。

代码如下:

public class HoverDemoActivity extends Activity {
  private Button btnBottom;
  @Override
  public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    btnBottom = (Button) findViewById(R.id.btn_bottom);
    btnBottom.setOnHoverListener(new OnHoverListener() {
      @Override
      public boolean onHover(View v, MotionEvent event) {
        int what = event.getAction();
        switch(what){
         case MotionEvent.ACTION_HOVER_ENTER: //鼠标进入view
           System.out.println("bottom ACTION_HOVER_ENTER");
           break;
         case MotionEvent.ACTION_HOVER_MOVE: //鼠标在view上
           System.out.println("bottom ACTION_HOVER_MOVE");
           break;
         case MotionEvent.ACTION_HOVER_EXIT: //鼠标离开view
           System.out.println("bottom ACTION_HOVER_EXIT");
           break;
        }
        return false;
      }
    });
  }
}

当view隐藏时,无法监控点击,触摸和hover事件。

更多关于Android相关内容感兴趣的读者可查看本站专题:《Android开发入门与进阶教程》、《Android调试技巧与常见问题解决方法汇总》、《Android基本组件用法总结》、《Android视图View技巧总结》、《Android布局layout技巧总结》及《Android控件用法总结》

希望本文所述对大家Android程序设计有所帮助。

(0)

相关推荐

  • Android中三种注入事件方法比较

    方法1:使用内部APIs 该方法和其他所有内部没有向外正式公布的APIs一样存在它自己的风险.原理是通过获得WindowManager的一个实例来访问injectKeyEvent/injectPointerEvent这两个事件注入方法. 复制代码 代码如下: IBinder wmbinder = ServiceManager.getService( "window" ); IWindowManager m_WndManager = IWindowManager.Stub.asInter

  • Android中实现监听ScrollView滑动事件

    时候我们需要监听ScroView的滑动情况,比如滑动了多少距离,是否滑到布局的顶部或者底部.可惜的是SDK并没有相应的方法,不过倒是提供了一个 复制代码 代码如下: protected void onScrollChanged(int x, int y, int oldx, int oldy) 方法,显然这个方法是不能被外界调用的,因此就需要把它暴露出去,方便使用.解决方式就是写一个接口, 复制代码 代码如下: package com.example.demo1;    public inter

  • android Textview文字监控(Textview使用方法)

    1.首先给用户添加一个textchangedlistener2.然后再写一个文字变化的监视器 复制代码 代码如下: mobile_et.addTextChangedListener(textWatcher); /**     * 实时监听用户输入的手机号,输入至最后一位后,计算折扣后的金额     */    TextWatcher textWatcher = new TextWatcher() { @Override        public void onTextChanged(CharS

  • Android按钮单击事件的四种常用写法总结

    很多学习Android程序设计的人都会发现每个人对代码的写法都有不同的偏好,比较明显的就是对控件响应事件的写法的不同.因此本文就把这些写法总结一下,比较下各种写法的优劣,希望对大家灵活地选择编码方式可以有一定的参考借鉴价值. xml文件代码如下: <Button android:id="@+id/button1" android:layout_width="wrap_content" android:layout_height="wrap_conte

  • android 键盘事件和屏幕事件的运行原理及交互实现

    当在自定义View或者做游戏的时候,我们常常会用到键盘触发事件和屏幕触发事件!在自定义的View里的键盘触发事件(比如:onKeyDown(int keyCode, KeyEvent event))和屏幕触发事件(onTouchEvent(MotionEvent event))和activity里的键盘触发事件(比如:onKeyDown(int keyCode, KeyEvent event))和屏幕触发事件(onTouchEvent(MotionEvent event))是怎么样交互的呢?是怎

  • Android编程实现监控apk安装,卸载,替换的方法

    本文实例讲述了Android编程实现监控apk安装,卸载,替换的方法.分享给大家供大家参考,具体如下: public class GetBroadcast extends BroadcastReceiver { private static GetBroadcast mReceiver = new GetBroadcast(); private static IntentFilter mIntentFilter; public static void registerReceiver(Conte

  • android监控sim卡有没有服务示例(sim卡管理)

    复制代码 代码如下: public class UniteqService {public static final String LOG_TAG = "UniteqService";public boolean DEBUG = true;private boolean hasService = false;//是否有服务private PhoneStateListener[] mPhoneStateListener;//监听双卡private TelephonyManager mPh

  • 封装的android监听手指左右滑动屏幕的事件类分享

    左右滑动是智能手机最常用的动作,在此简单的封装了一下,以后直接拿来用就可以了. 简单的只需要几行就可以了,下面那个类是封装好了的. package com.example.test; import android.os.Bundle; import android.app.Activity; import android.content.Context; import android.util.Log; import android.widget.RelativeLayout; public c

  • 浅析Android 模拟键盘鼠标事件

    通过Socket + Instrumentation实现模拟键盘鼠标事件主要通过以下三个部分组成:Socket编程:实现PC和Emulator通讯,并进行循环监听Service服务:将Socket的监听程序放在Service中,从而达到后台运行的目的.这里要说明的是启动服务有两种方式,bindService和startService,两者的区别是,前者会使启动的Service随着启动Service的Activity的消亡而消亡,而startService则不会这样,除非显式调用stopServi

  • Android编程实现监控各个程序流量的方法

    本文实例讲述了Android编程实现监控各个程序流量的方法.分享给大家供大家参考,具体如下: public void getAppTrafficList(){ //获取所有的安装在手机上的应用软件的信息,并且获取这些软件里面的权限信息 PackageManager pm=getPackageManager();//获取系统应用包管理 //获取每个包内的androidmanifest.xml信息,它的权限等等 List<PackageInfo> pinfos=pm.getInstalledPac

  • Android中button实现onclicklistener事件的两种方式

    复制代码 代码如下: package com.demos; import android.app.Activity; import android.os.Bundle; import android.view.View; import android.view.View.OnClickListener; import android.widget.Button; public class GetScreenActivity extends Activity { private Button fi

  • Android中判断网络连接是否可用及监控网络状态

    获取网络信息需要在AndroidManifest.xml文件中加入相应的权限. <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> 1)判断是否有网络连接 复制代码 代码如下: public boolean isNetworkConnected(Context context) { if (context != null) { ConnectivityManager mConn

  • android监听返回按钮事件的方法

    本文实例讲述了android监听返回按钮事件的方法.分享给大家供大家参考.具体如下: 用户在点击手机的返回按钮时,默认是推出当前的activty,但是有时用户不小心按到返回,所以需要给用户一个提示,这就需要重写onkeydown事件,实现的效果如下: java代码如下: @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.l

  • Android Touch事件分发过程详解

    本文以实例形式讲述了Android Touch事件分发过程,对于深入理解与掌握Android程序设计有很大的帮助作用.具体分析如下: 首先,从一个简单示例入手: 先看一个示例如下图所示: 布局文件 : <FrameLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:id=&

随机推荐