全网整合营销服务商

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

免费咨询热线: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 


相关文章: 建站之星后台管理系统如何操作?  专业网站设计制作公司,如何制作一个企业网站,建设网站的基本步骤有哪些?  建站主机助手选型指南:2025年热门推荐与高效部署技巧  python的本地网站制作,如何创建本地站点?  广州网站设计制作一条龙,广州巨网网络科技有限公司是干什么的?  如何自定义建站之星模板颜色并下载新样式?  如何用免费手机建站系统零基础打造专业网站?  如何选择建站程序?包含哪些必备功能与类型?  电视网站制作tvbox接口,云海电视怎样自定义添加电视源?  logo在线制作免费网站在线制作好吗,DW网页制作时,如何在网页标题前加上logo?  成都网站制作价格表,现在成都广电的单独网络宽带有多少的,资费是什么情况呢?  宝塔新建站点报错如何解决?  如何快速搭建高效可靠的建站解决方案?  南京网站制作费用,南京远驱官方网站?  高端建站三要素:定制模板、企业官网与响应式设计优化  香港服务器部署网站为何提示未备案?  h5在线制作网站电脑版下载,h5网页制作软件?  如何通过FTP空间快速搭建安全高效网站?  枣阳网站制作,阳新火车站打的到仙岛湖多少钱?  香港服务器建站指南:外贸独立站搭建与跨境电商配置流程  建站之星如何取消后台验证码生成?  如何快速登录WAP自助建站平台?  网站制作免费,什么网站能看正片电影?  韩国服务器如何优化跨境访问实现高效连接?  如何高效搭建专业期货交易平台网站?  如何通过网站建站时间优化SEO与用户体验?  Swift中循环语句中的转移语句 break 和 continue  建站一年半SEO优化实战指南:核心词挖掘与长尾流量提升策略  网站制作软件有哪些,制图软件有哪些?  如何零成本快速生成个人自助网站?  青浦网站制作公司有哪些,苹果官网发货地是哪里?  C#怎么使用委托和事件 C# delegate与event编程方法  c# 在高并发下使用反射发射(Reflection.Emit)的性能  音乐网站服务器如何优化API响应速度?  深圳网站制作平台,深圳市做网站好的公司有哪些?  微网站制作教程,我微信里的网站怎么才能复制到浏览器里?  常州自助建站工具推荐:低成本搭建与模板选择技巧  湖州网站制作公司有哪些,浙江中蓝新能源公司官网?  高端云建站费用究竟需要多少预算?  成都品牌网站制作公司,成都营业执照年报网上怎么办理?  文字头像制作网站推荐软件,醒图能自动配文字吗?  大型企业网站制作流程,做网站需要注册公司吗?  如何做网站制作流程,*游戏网站怎么搭建?  外汇网站制作流程,如何在工商银行网站上做外汇买卖?  如何通过服务器快速搭建网站?完整步骤解析  专业的网站制作设计是什么,如何制作一个企业网站,建设网站的基本步骤有哪些?  制作网站的模板软件,网站怎么建设?  巅云智能建站系统:可视化拖拽+多端适配+免费模板一键生成  高配服务器限时抢购:企业级配置与回收服务一站式优惠方案  微信推文制作网站有哪些,怎么做微信推文,急? 

您的项目需求

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