Я разрабатываю игру, используя html5 canvas, и для ее отображения использую android webview.Я получаю сенсорные события, используя «OnTouchListener», и я передаю его в методы JavaScript.Для этой цели я использую view.loadUrl ("javascript: functionName ()") для вызова метода javascript.
Теперь для каждого события onTouch я вызываю метод drawline (в js) с координатами события касания x и y.Но всегда рисуются только первые несколько линий, и после этого, даже если я проведу пальцем по экрану, ничто не будет нарисовано, пока событие касания не закончится.Когда сенсорное событие завершается, все строки отображаются одновременно.
Исходя из результатов, я могу заключить, что мой метод js вызывается с правильным значением x, y (так как все линии нарисованы правильно), но веб-просмотр не обновляется (так как линии не рисуются при перемещении пальца).
Есть ли 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();
}