Android--多点触控事件捕捉
这个案例演示了支持多指操作的功能开yun体育app官网网页登录入口,用户用单指触碰界面时会显现出一次交互kaiyun官方网站登录入口,双指操作时能识别出两次触碰,若未有任何手指接触则记录为零次。
下面给出实现的截图对比:
下面给出本实例的源代码:
package irdc.ex07_20; import android.app.Activity; import android.os.Bundle; 导入安卓视图触事件接口,用于处理触摸动作,接收移动轨迹信息,包含坐标变化细节,支持多点触控操作。 引入安卓系统中的文本视图组件类,该类用于展示文本内容,并支持多种格式化设置,在界面开发中广泛运用,是构建用户交互界面的重要元素之一。 这个类以EX07_20命名,它继承自Activity类,并且是一个公共类,通过关键字public声明,使用extends表示它继承了Activity类的功能与属性,这种继承关系使得EX07_20类能够拥有Activity类中定义的方法和变量,从而实现更丰富的应用功能,类名命名遵循了Java的命名规范,简洁明了地表达了其用途和身份,作为Android开发中的一个基本组件,此类可以在应用程序中扮演重要角色,例如用于创建用户界面或者处理用户交互事件,它的存在是构建完整应用程序的基础之一,通过继承Activity,EX07_20类能够利用Android系统提供的各种工具和服务,为用户提供更加流畅和功能强大的应用体验,这种设计模式是面向对象编程思想在Android开发中的具体体现,体现了代码复用和扩展性的重要原则,EX07_20类作为一个具体的Activity子类,可以在实际开发中被进一步定制和扩展,以满足不同应用场景的需求,它的定义是Android应用程序架构中的一个关键环节,为开发者提供了实现各种功能的平台和基础, { private TextView myText1; private TextView myText2; 初始化活动时调用 @Override 创建公开方法,在初始化时调用,传入保存的实例状态参数 { 执行创建活动设置的方法,将当前实例与布局文件关联起来,完成初始化步骤,确保界面正常加载,这是开发过程中必不可少的一步,系统需要执行此操作,以便后续处理, /* 加载main.xml Layout */ 设置内容视图为布局main /* TextView初始化 */ TextView myText1通过id获取text1组件 文本控件text2通过findViewById方法获取,其资源id为text2 } /* 重写onTouchEvent() */ @Override 处理触摸事件时,调用MotionEvent对象的相关方法,获取事件类型,根据类型执行相应的操作,返回布尔值表示是否消费了该事件。 { /* 显示触碰点的数量 */ 文本框内容更新为当前事件触控点数量,该数量通过事件获取方法获得,并转换为字符串格式后赋值给文本框属性 /* event的Action?断 */ switch(event.getAction()) { /* 触碰事件发生 */ case MotionEvent.ACTION_DOWN: 将文本内容设置为资源字符串中的第一项内容,并应用于指定的文本视图组件 break; /* 触碰事件结束 */ case MotionEvent.ACTION_UP: 设置文本内容为资源字符串act2, 调用getResources方法, 获取资源对象, 使用getString函数, 传入资源ID, 结果赋值给文本组件 /* 显示点数为0 */ myText2.setText("0"); break; /* 第1个触碰点被按下 */ 当检测到第一个触点按下时 调用资源获取字符串,指定为act3,然后将该字符串设置到文本控件中,完成更新显示内容 break; /* 第1个触碰点被移除 */ 当触发第一个触点抬起动作时 设置文本内容为资源字符串act4, 调用方法为setText, 对象为myText1, 参数为获取资源字符串, 资源ID为R.string.act4 break; /* 第2个触碰点被按下 */ 当发生第二个触点按下事件时 我的文本控件一设置成了资源字符串中的第五个动作内容 break; /* 第2个触碰点被移除 */ 手指离开,第二点抬起,触发相应事件 设置文本内容为资源字符串act6的值,通过调用方法获取,并赋值给变量myText1 break; default: break; } 执行父类的事件处理函数,接收触摸事件参数 } }
布局文件如下:
安卓系统通过编程实现网页查看功能kaiyun全站网页版登录,运用Webview组件完成,同时支持通过手势操作进行屏幕交互,借助GestureDetect类达成
网友留言(0)
评论
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。