|
研究了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('设置完毕!');
【事件】 voidonJavaViewTouchDown(Stringid,floatx,floaty)
【说明】 当手指在屏幕上按下时触发。
【参数】 id:View的ID。
x:触屏点的水平位置。
y:触屏点的垂直位置。
示例代码
functiononJavaViewTouchDown(id,x,y){
rexseeJavaView.setStyle(id,'background-color:#ffff00;');
}
【事件】 voidonJavaViewTouchUp(Stringid,floatx,floaty)
【说明】 当手指从屏幕上离开时触发。
【参数】 id:View的ID。
x:触屏点的水平位置。
y:触屏点的垂直位置。
示例代码
functiononJavaViewTouchUp(id,x,y){
rexseeJavaView.setStyle(id,'background-color:#ff0000;');
}
【事件】 voidonJavaViewTouchCancel(Stringid,floatx,floaty)
【说明】 当触屏动作取消时触发。
【参数】 id:View的ID。
x:触屏点的水平位置。
y:触屏点的垂直位置。
示例代码
functiononJavaViewTouchCancel(id,x,y){
alert("onJavaViewTouchCancel:"+id+","+x+","+y);
}
【事件】 voidonJavaViewTouchMove(Stringid,floatx,floaty)
【说明】 当手指在屏幕上移动时触发。注意,默认并不会捕捉TouchMove事件,需要用rexseeJavaView.listenToTouchMove(id,true)开始捕捉,用rexseeJavaView.listenToTouchMove(id,false)停止捕捉。用rexseeJavaView.isListeningToTouchMove(id)可以判断某个View当前是否正在监听TouchMove事件。
【参数】 id:View的ID。
x:触屏点的水平位置。
y:触屏点的垂直位置。
示例代码
functiononJavaViewTouchMove(id,x,y){
document.getElementById('touchmove').innerHTML="onJavaViewTouchMove:"+x+","+y;
}
【事件】 voidonJavaViewClick(Stringid,floatx,floaty)
【说明】 当发生单击时触发。
【参数】 id:View的ID。
x:触屏点的水平位置。
y:触屏点的垂直位置。
示例代码
functiononJavaViewClick(id,x,y){
alert("onJavaViewClick:"+id+","+x+","+y);
}
【事件】 voidonJavaViewDoubleClick(Stringid,floatx,floaty)
【说明】 当发生双击时触发。
【参数】 id:View的ID。
x:触屏点的水平位置。
y:触屏点的垂直位置。
示例代码
functiononJavaViewDoubleClick(id,x,y){
alert("onJavaViewDoubleClick:"+id+","+x+","+y);
}
其它还有长按时触发:voidonJavaViewLongPress(Stringid,floatx,floaty);快速划屏(试图快速滚动内容)时触发:voidonJavaViewFling(Stringid,floatx1,floaty1,floatx2,floaty2);慢速划屏(试图慢速滚动内容)时触发:voidonJavaViewTouchScroll(Stringid,floatx1,floaty1,floatx2,floaty2)
示例代码类似,不再多说。。不明白的可以在Rexsee社区里查看具体的示例:http://www.rexsee.com/project/index.php
|
|