我正在使用html5 canvas开发游戏,我正在使用android webview来显示它。我正在使用“OnTouchListener”获取触摸事件,我将它传递给javascript方法。为此,我使用view.loadUrl(“javascript:functionName()”)来调用javascript方法。
现在,对于每个onTouch事件,我使用触摸事件x和y坐标调用drawline方法(在js中)。但是,总是只绘制前几行,然后,即使我将手指移到屏幕上,在触摸事件结束之前也不会绘制任何内容。触摸事件完成后,将立即显示所有行。
从结果中,我可以得出结论,我的js方法被调用正确的x,y值(因为所有行都被正确绘制),但是webview没有更新(因为在移动手指时不绘制线条)。
是否有任何api会强制webview在某个时间间隔内更新视图。提前谢谢。
class myTouchListener implements OnTouchListener{
public boolean onTouch(View v, MotionEvent event) {
ZentriangleActivity.zWebView.loadUrl("javascript:drawline("+(int)event.getX()+","+(int)event.getY()+")");
return false;
}
}
myWebView.setOnTouchListener(new myTouchListener());
在js代码中
function drawline(x,y){
ctx.beginPath();
ctx.moveTo(25,25);
ctx.lineTo(x,y);
ctx.stroke();
}