041008_多点触控 Android安卓开发课件.ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
多点触控 多点触控指的是可以同时对用户的多个屏幕触摸点进行监听,并进行相应处理的一种操作,在Activity类中为用户提供了一个onTouchEvent()方法,用户就可以利用此方法完成多点触控,此方法定义如下: public boolean onTouchEvent(MotionEvent event) {} 可以发现在此方法上有一个android.view.MotionEvent类的事件对象,实际上用户就可以通过这个事件对象完成对用户多个触摸点的操作监听。 MotionEvent类的常用方法 范例:图片缩放功能实现 实现代码(A) 实现代码(B) 实现代码(C) 实现代码(D) 实现代码(E) E-MAIL:mldnqa@163.com ? MLDN 软件教学研发部 Android开发实战经典 第10章:多媒体技术 —— 多点触控 李兴华 北京魔乐科技软件学院 本章目标 掌握多点触控的基本操作原理; 可以使用多点触控、SurfaceView实现图片的拖动缩放 取得指定触摸点的Y坐标 普通 public final float getY(int pointerIndex) 6 取得指定触摸点的X坐标 普通 public final float getX(int pointerIndex) 5 返回同时触摸点的个数 普通 public final int getPointerCount() 4 事件操作的结束时间 普通 public final long getEventTime() 3 返回按下的时间 普通 public final long getDownTime() 2 返回操作的Action类型,例如:按下或松开 普通 public final int getAction() 1 描述 类型 方法 No. @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); super.requestWindowFeature(Window.FEATURE_NO_TITLE); // 不显示标题 this.screenWidth = super.getWindowManager().getDefaultDisplay() .getWidth();// 取得屏幕宽度 this.screenHeight = super.getWindowManager().getDefaultDisplay() .getHeight();// 取得屏幕高度 this.img = new ImageView(this);// 定义ImageView this.bitmap = BitmapFactory.decodeResource(super.getResources(), R.drawable.android_book);// 取得Bitmap this.imageWidth = this.bitmap.getWidth();// 图片宽度 this.imageHeight = this.bitmap.getHeight();// 图片高度 this.imageX = (this.screenWidth - this.imageWidth) / 2;// 图片开始的X轴 this.imageY = (this.screenHeight - this.imageHeight) / 2;// 图片开始的Y轴 this.img.setImageBitmap(this.bitmap); // 显示图片 super.setContentView(new MySurfaceView(this));// 使用SurfaceView封装 } private class MySurfaceView extends SurfaceView implements SurfaceHolder.Callback { // 实现SurfaceView public MySurfaceView(Context context) { super(context); MyMultitouchDemo.this.holder = super.getHolder(); // 取得SurfaceHolder MyMultitouchDemo.this.holder.addCallback(this); // 加入Callback操作 super.setFocusable(true); // 可以接收触摸事件 }

文档评论(0)

autohhh + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档