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

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
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值