全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

Android 事件触发机制的深入学习

 Android 事件触发机制的深入学习

最近在研究android的事件触发和传播机制,说来很惭愧,web下的事件太熟悉不过了,可在android中却很郁闷,常用的触摸事件都糊里糊涂的,在网上看了半天,也整理一份,供大家参考:

public class CustomDefaultActivity implements OnTouchListener { 
  private GestureDetector gd1; 
  private TableLayout tableLayout; 
 
  @Override 
  protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.custom_default); 
    tableLayout = (TableLayout) findViewById(R.id.tableLayout); 
    gd1 = new GestureDetector(CustomDefaultActivity.this, new MyGesture()); 
    tableLayout.setOnTouchListener(this); 
    tableLayout.setLongClickable(true); 
  } 
 
  @Override 
  public boolean dispatchTouchEvent(MotionEvent event) { 
    Log.e("-----------------------------------------------------------------------", 
      "dispatchTouchEvent"); 
 
    if (gd1.onTouchEvent(event)) { 
      event.setAction(MotionEvent.ACTION_CANCEL); 
    } 
 
    return super.dispatchTouchEvent(event); 
  } 
 
  @Override 
  public boolean onTouch(View arg0, MotionEvent arg1) { 
    Log.e("-------", "onTouch"); 
 
    return gd1.onTouchEvent(arg1); 
  } 
 
  public class MyGesture implements OnGestureListener { 
    @Override 
    public boolean onDown(MotionEvent arg0) { 
      Log.e("-------", 
        "onDown, 按下时触发[" + arg0.getX() + "," + arg0.getY() + "]"); 
 
      return true; 
    } 
 
    @Override 
    public void onLongPress(MotionEvent arg0) { 
      Log.e("-------", "onLongPress,长时间按住时触发"); 
    } 
 
    @Override 
    public boolean onScroll(MotionEvent arg0, MotionEvent arg1, float arg2, 
      float arg3) { 
      Log.e("-------", 
        "onScroll,滑动拖动事件[" + arg0.getX() + "," + arg0.getY() + "]=[" + 
        arg1.getX() + "," + arg1.getY() + "]"); 
 
      return true; 
    } 
 
    @Override 
    public boolean onFling(MotionEvent arg0, MotionEvent arg1, float arg2, 
      float arg3) { 
      Log.e("-------", "onFling, 滑动甩出事件"); 
 
      return true; 
    } 
 
    @Override 
    public void onShowPress(MotionEvent arg0) { 
      Log.e("-------", "onShowPress,down事件发生,而move或up还没发生前触发该事件"); 
    } 
 
    @Override 
    public boolean onSingleTapUp(MotionEvent arg0) { 
      Log.e("-------", "onSingleTapUp 释放事件"); 
 
      return true; 
    } 
  } 
} 

监控触摸事件,主要是实现OnGestureListener类,并重写其中的几个方法,以监听事件发生。

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!


# Android  # 事件触发机制学习  # 触发机制  # Android onSaveInstanceState和onRestoreInstanceStat  # Android onNewIntent()触发机制及注意事项  # android防止提交事件时触发多个表单中的按钮  # Android实现指定时间定时触发方法  # 几个  # 还没  # 看了  # 过了  # 长时间  # 半天  # 希望能  # 可在  # 糊里糊涂  # 重写  # 拖动  # 按下  # 谢谢大家  # 生前  # 中却  # 很郁闷  # 主要是  # 甩出  # 在网上  # tableLayout 


相关文章: 如何快速搭建虚拟主机网站?新手必看指南  如何用花生壳三步快速搭建专属网站?  如何正确下载安装西数主机建站助手?  建站之星IIS配置教程:代码生成技巧与站点搭建指南  如何制作一个表白网站视频,关于勇敢表白的小标题?  威客平台建站流程解析:高效搭建教程与设计优化方案  建站主机解析:虚拟主机配置与服务器选择指南  如何通过商城自助建站源码实现零基础高效建站?  详解免费开源的DotNet二维码操作组件ThoughtWorks.QRCode(.NET组件介绍之四)  mc皮肤壁纸制作器,苹果平板怎么设置自己想要的壁纸我的世界?  洛阳网站制作公司有哪些,洛阳的招聘网站都有哪些?  公司门户网站制作流程,华为官网怎么做?  如何通过老薛主机一键快速建站?  建站之星代理平台如何选择最佳方案?  中山网站制作网页,中山新生登记系统登记流程?  如何快速搭建高效简练网站?  外贸公司网站制作,外贸网站建设一般有哪些步骤?  宝塔面板如何快速创建新站点?  矢量图网站制作软件,用千图网的一张矢量图做公司app首页,该网站并未说明版权等问题,这样做算不算侵权?应该如何解决?  详解jQuery停止动画——stop()方法的使用  北京的网站制作公司有哪些,哪个视频网站最好?  如何在Ubuntu系统下快速搭建WordPress个人网站?  学校免费自助建站系统:智能生成+拖拽设计+多端适配  清除minerd进程的简单方法  建站之星导航如何优化提升用户体验?  网站规划与制作是什么,电子商务网站系统规划的内容及步骤是什么?  如何选择CMS系统实现快速建站与SEO优化?  如何选择建站程序?包含哪些必备功能与类型?  专业的网站制作设计是什么,如何制作一个企业网站,建设网站的基本步骤有哪些?  建站之星价格显示格式升级,你的预算足够吗?  制作网页的网站有哪些,电脑上怎么做网页?  网站建设制作需要多少钱费用,自己做一个网站要多少钱,模板一般多少钱?  jQuery 常见小例汇总  建站主机选购指南:核心配置优化与品牌推荐方案  清单制作人网站有哪些,近日“兴风作浪的姑奶奶”引起很多人的关注这是什么事情?  网站好制作吗知乎,网站开发好学吗?有什么技巧?  制作营销网站公司,淘特是干什么用的?  建站之星客服服务时间及联系方式如何?  购物网站制作费用多少,开办网上购物网站,需要办理哪些手续?  网站海报制作教学视频教程,有什么免费的高清可商用图片网站,用于海报设计?  如何解决VPS建站LNMP环境配置常见问题?  如何在腾讯云服务器上快速搭建个人网站?  阿里云网站制作公司,阿里云快速搭建网站好用吗?  定制建站哪家更专业可靠?推荐榜单揭晓  C#如何使用XPathNavigator高效查询XML  如何通过服务器快速搭建网站?完整步骤解析  建站之星如何通过成品分离优化网站效率?  建站之星在线客服如何快速接入解答?  如何在建站主机中优化服务器配置?  深圳网站制作案例,网页的相关名词有哪些? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。