Android中不常见的监听: 鼠标划过/双击/右键

来源:互联网 发布:caffe 环境配置vs2015 编辑:程序博客网 时间:2024/04/30 12:21

Android中不常见的监听: 鼠标划过/双击/右键

* 工作中经常接触 这些监听,分享出来,大家了解一下*

鼠标划过—- 实例 划过弹出 Dialog -tip提示

private class HoverListener implements OnHoverListener {                                                                                   ┊   @Override                                           ┊   public boolean onHover(View useless, MotionEvent event){┊   ┊   if (preventResponseHover()) {                   ┊   ┊   ┊   return false;                               ┊   ┊   }                                               ┊   ┊   switch(event.getAction()) {                     ┊   ┊   ┊   case MotionEvent.ACTION_HOVER_ENTER:        ┊   ┊   ┊   ┊   useless.setBackgroundResource(R.drawable.ic_background_mouse_hover);┊   ┊   ┊   ┊   View view = ((LayoutInflater) mContext.getSystemService(┊   ┊   ┊   ┊   ┊   ┊   ┊   ┊   ┊   ┊                  Context.LAYOUT_INFLATER_SERVICE))┊   ┊   ┊   ┊   ┊   ┊   ┊   ┊   ┊.inflate(R.layout.status_bar_activity_hover_tips, null, false);┊   ┊   ┊   ┊   TextView v = (TextView) view.findViewById(R.id.akv_tips);┊   ┊   ┊   ┊   if (v != null) {                        ┊   ┊   ┊   ┊   ┊   v.setText(PackageManager.getTitleByPkg(getContext(), mActivity.mPkgName));┊   ┊   ┊   ┊   }                                       ┊   ┊   ┊   ┊   dismissDialog();                        ┊   ┊   ┊   ┊   showDialog(view, DIALOG_PADDING_TIPS);  ┊   ┊   ┊   ┊   break;                                  ┊   ┊   ┊   case MotionEvent.ACTION_HOVER_EXIT:         ┊   ┊   ┊   ┊   useless.setBackgroundResource(R.drawable.system_bar_background);┊   ┊   ┊   ┊   break;                                  ┊   ┊   }                                               ┊   ┊   return false;                                   ┊   }                                                   } 

#### 双击

  public boolean onTouchEvent(MotionEvent e) {┊   int button = e.getButtonState();┊   int action = e.getAction();┊   if(button == MotionEvent.BUTTON_SECONDARY && action == MotionEvent.ACTION_DOWN) {//  右键┊   ┊   dismissDialog();┊   ┊   mShowRBM = true;┊   ┊   showDialog(getRbmView(), 0);┊   ┊   return true;┊   }          ┊   // Locked status to click┊   if(action == MotionEvent.ACTION_DOWN) {//单击┊   ┊   if(mActivity.mIsDocked) {┊   ┊   ┊   if(!mActivity.mApkRun) {┊   ┊   ┊   ┊   waitTimer();┊   ┊   ┊   ┊   runApkByPkg();┊   ┊   ┊   } else if(mActivity.mHiden) {┊   ┊   ┊   ┊   resizeStack();┊   ┊   ┊   }  ┊   ┊   } else if(mActivity.mHiden) {┊   ┊   ┊   resizeStack();┊   ┊   }      ┊   ┊   setFocusedStack();┊   }          ┊   return super.onTouchEvent(e);}

双击

双击的实现则是通过,对单机的时间的控制,但是由于手速和鼠标的不同,则时间设置一般不确定。。。。。。。。
0 0