java - HighCharts 动画安卓

标签 java javascript android svg highcharts

我的 android 应用程序有简单的条形图。我必须使用 HighCharts 来开发它。一切都很好,除了酒吧的动画。这是行不通的。 Android 4+ 版本和我的一些设备。 图表来源:

<!DOCTYPE HTML>
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <title>Highcharts Example</title>

    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js"></script>
    <script type="text/javascript">
        function plot(data,  data3) {

        var chart = $('#container').highcharts(),
        inCome = data,
        lenObj = inCome.length,
        series1 = [],
        series2 = [];

        /*for (var i = 0; i < lenObj; i++) {
        series1.push([inCome[i], inCome[i]]);
        series2.push([outCome[i], outCome[i]]);
        }         */

        chart.series[0].setData(inCome, true);
        chart.xAxis[0].setCategories(data3,true);
        }
        $(function () {
        $('#container').highcharts({
        chart: {
        type: 'bar'
        },
        title: {
        text: 'Count Max'
        },
        subtitle: {
        text: 'Посещаемость'
        },
        xAxis: {
        categories: [],
        title: {
        text: null
        }
        },
        yAxis: {
        min: 0,
        title: {
        text: 'Человек',
        align: 'high'
        },
        labels: {
        overflow: 'justify'
        }
        },
        tooltip: {
        valueSuffix: ' millions'
        },
        plotOptions: {
        bar: {
        dataLabels: {
        enabled: true
        }
        }
        },
        legend: {
        layout: 'vertical',
        align: 'right',
        verticalAlign: 'top',
        x: -40,
        y: 100,
        floating: true,
        borderWidth: 1,
        backgroundColor: '#FFFFFF',
        shadow: true
        },
        credits: {
        enabled: false
        },
        series : [{
        name : 'Вошло',
        data : []
        }]
        });
        });
     </script>
</head>
<body>
<script src="file:///android_asset/highcharts.js"></script>
<script src="file:///android_asset/modules/exporting.js"></script>

<div id="container" style="min-width: 310px; height: 400px; margin: 0 auto"></div>

</body>
</html>

初始化我的控件:

wChart = (WebView)findViewById(R.id.wChart);
        wChart.getSettings().setJavaScriptEnabled(true);
        wChart.loadUrl("file:///android_asset/horizontalBarChart.html");

我如何使用图表:

private void Plot(ArrayList<Rating> ratings)
    {
        int[] rawData1 = new int[ratings.size()];
        String[] rawData2 = new String[ratings.size()];
        for (int i = 0; i < ratings.size(); i++)
        {
            rawData1[i] = ratings.get(i).Value;
            rawData2[i] = ratings.get(i).NameEntity;
        }
        wChart.loadUrl("javascript:plot(" + gson.toJson(rawData1) + ","+  gson.toJson(rawData2) + ")");
    }

据我所知,HighChart 使用 SVG,它应该可以在 android 3+ 版本上正常工作。

最佳答案

你有重复的动画,所以这行:

    chart.series[0].setData(inCome, true);
    chart.xAxis[0].setCategories(data3,true);

是罪魁祸首。在第一行设置 false 应该可以工作。请记住,在对图表进行更多操作时,只为最后一个设置 redraw=true。

关于java - HighCharts 动画安卓,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19278469/

相关文章:

javascript - 一个一个地为一组元素设置阴影动画

javascript - XSL 在 IE 中处理片段

javascript - Bootstrap 选项卡不更改内容

android - 从父级开始和停止 Activity ?

android - 如何在 Android TextView 中更改文本

java - 如何在JAVA中使用selenium点击这个输入文件的浏览按钮?

java - 如何将包含转换为 equals.ignorecase?

java - 将base64编码的字符串存储在HBase中

java - Camel : Adding Properties to a message in Spring DSL

android - 文档页面中的相机示例在 android 2.3.x 上失败