Chinaunix首页 | 论坛 | 博客
  • 博客访问: 31551
  • 博文数量: 19
  • 博客积分: 410
  • 博客等级: 下士
  • 技术积分: 132
  • 用 户 组: 普通用户
  • 注册时间: 2012-03-30 13:33
文章分类
文章存档

2012年(19)

我的朋友

分类: Delphi

2012-03-30 14:40:13

研究了Rexsee针对Android原生UI控件的扩展rexseeJavaView,直接使用JS调用即可。重点针对触屏事件做了整理,有兴趣的TX可以一起探讨。。
总的来说,rexseeJavaView使得开发者可以捕获使用rexseeJavaView对象创建的Android原生View的运行时事件。
触屏事件
【说明】 触屏事件监听默认是禁止的,必须在样式表中设置样式来启动某个View的触屏事件监听机制。
rexseeJavaView.setStyle('test','event_touch:true;event_touchmove:true;');
alert('设置完毕!');
rexseeJavaView.setStyle('test','event_touch:false;event_touchmove:false;');
alert('设置完毕!');
【事件】 void onJavaViewTouchDown(String id, float x, float y)
【说明】 当手指在屏幕上按下时触发。
【参数】 id:View的ID。
x:触屏点的水平位置。
y:触屏点的垂直位置。
示例代码
  1. function onJavaViewTouchDown(id,x,y){
  2. rexseeJavaView.setStyle(id,'background-color:#ffff00;');
  3. }
复制代码
【事件】 void onJavaViewTouchUp(String id, float x, float y)
【说明】 当手指从屏幕上离开时触发。
【参数】 id:View的ID。
x:触屏点的水平位置。
y:触屏点的垂直位置。
示例代码
  1. function onJavaViewTouchUp(id,x,y){
  2. rexseeJavaView.setStyle(id,'background-color:#ff0000;');
  3. }
复制代码
【事件】 void onJavaViewTouchCancel(String id, float x, float y)
【说明】 当触屏动作取消时触发。
【参数】 id:View的ID。
x:触屏点的水平位置。
y:触屏点的垂直位置。
示例代码
  1. function onJavaViewTouchCancel(id,x,y){
  2. alert("onJavaViewTouchCancel:"+id+","+x+","+y);
  3. }
复制代码

【事件】 void onJavaViewTouchMove(String id, float x, float y)
【说明】 当手指在屏幕上移动时触发。注意,默认并不会捕捉TouchMove事件,需要用rexseeJavaView.listenToTouchMove(id,true)开始捕捉,用rexseeJavaView.listenToTouchMove(id,false)停止捕捉。用rexseeJavaView.isListeningToTouchMove(id)可以判断某个View当前是否正在监听TouchMove事件。
【参数】 id:View的ID。
x:触屏点的水平位置。
y:触屏点的垂直位置。
示例代码
  1. function onJavaViewTouchMove(id,x,y){
  2. document.getElementById('touchmove').innerHTML = "onJavaViewTouchMove:"+x+","+y;
  3. }
复制代码

【事件】 void onJavaViewClick(String id, float x, float y)
【说明】 当发生单击时触发。
【参数】 id:View的ID。
x:触屏点的水平位置。
y:触屏点的垂直位置。
示例代码
  1. function onJavaViewClick(id,x,y){
  2. alert("onJavaViewClick:"+id+","+x+","+y);
  3. }
复制代码

【事件】 void onJavaViewDoubleClick(String id, float x, float y)
【说明】 当发生双击时触发。
【参数】 id:View的ID。
x:触屏点的水平位置。
y:触屏点的垂直位置。
示例代码
  1. function onJavaViewDoubleClick(id,x,y){
  2. alert("onJavaViewDoubleClick:"+id+","+x+","+y);
  3. }
复制代码

其它还有长按时触发:void onJavaViewLongPress(String id, float x, float y);快速划屏(试图快速滚动内容)时触发:void onJavaViewFling(String id, float x1, float y1, float x2, float y2);慢速划屏(试图慢速滚动内容)时触发:void onJavaViewTouchScroll(String id, float x1, float y1, float x2, float y2)
示例代码类似,不再多说。。不明白的可以在Rexsee社区里查看具体的示例:


阅读(815) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~