Web视图和钛金属Android应用程序之间的通信

时间:2013-07-26 15:34:43

标签: android events graph webview titanium

我有一个钛应用程序,我加载了一个Web视图。在这个Web视图中,我加载了带有图表的html5。

我想显示一条垂直线并获得有关该线位置的一些信息。此行将由Titanium App中的滑块控制,因此该行将非常快速且经常地改变其位置。

您可以在此处看到类似的内容:graph

在html文件中,我编写了图形,并为事件添加了一个监听器。触发事件时,它会使用以下代码在某个位置绘制一条线:

        function updateVerticalLine(posX) {
            drawSeries(c);
            c.strokeStyle = '#000000';
            c.beginPath();
            c.moveTo(getXPixel(posX), graph.height() - yPadding);
            c.lineTo(getXPixel(posX), 0);
            c.stroke();

        } 

在Titanium应用程序中,我只在收到更改滑块事件时触发事件,并且我传递了该行的新位置:

slider.addEventListener('change', function(e) {

    Ti.App.fireEvent('sliderhtml5line:change', {
            value : e.value
        });
});

在ios上运行正常,但在Android上,它非常慢,事件也很混乱。

你知道我怎么解决它吗?这有更好的选择吗?

谢谢!

1 个答案:

答案 0 :(得分:1)

应该在其他方面完成。

当用户更改滑块时,您应该使用evaljs函数调用HTML页面中的方法直接更新用户界面