在安卓中使用echarts

来源:互联网 发布:网络课程评价指标体系 编辑:程序博客网 时间:2024/06/05 20:58

看见js写得echarts觉得非常的棒,所以尝试把它也搬到安卓中。

首先:把echarts放进assets下如图:


用webview来呈现\界面,这里选择用按钮来显示js部分,因为加载html文件比较慢,如果不用按钮来出发请选择用线程睡两秒等一下。

wb.getSettings().setAllowFileAccess(true);wb.getSettings().setJavaScriptEnabled(true);wb.loadUrl("file:///android_asset/echart/index.html"); btn.setOnClickListener(new OnClickListener() {@Override                        public void onClick(View v) {wb.loadUrl("javascript:createChart();");  }});

接下来就是我在html文件里的代码啦····我选择的是echarts官方的案例代码,做个示范:

<!DOCTYPE html><head><meta charset="utf-8"><title>ECharts</title><style>html, body {height: 100%;width: 100%; margin: 0;padding: 0;align: left;valign: left;}</style></head><body><div id="main"style="height: 100%; width: 100%; border: 0px; text-align: left; align: left; valign: left;"></div><!-- ECharts单文件引入 --><script src="./js/echarts.js"></script><script type="text/javascript">    //初始化路径    var myChart;       require.config({            paths: {                echarts: './js'            }        });           //创建折线图        function createLineChart(){        options = {            title : {                text: '某地区蒸发量和降水量',                subtext: '纯属虚构',                x:'left'                            },            tooltip : {                trigger: 'axis'            },            legend: {                data:['蒸发量','降水量']            },            toolbox: {                show : true,                feature : {                    mark : {show: true},                    dataView : {show: true, readOnly: false},                    magicType : {show: true, type: ['line', 'bar']},                    restore : {show: true},                    saveAsImage : {show: true}                }            },            calculable : true,            xAxis : [                {                    type : 'category',                    data : ['1月','2月','3月','4月','5月','6月','7月','8月','9月','10月','11月','12月']                }            ],            yAxis : [                {                    type : 'value'                }            ],            series : [                {                    name:'蒸发量',                    type:'bar',                    data:[2.0, 4.9, 7.0, 23.2, 25.6, 76.7, 135.6, 162.2, 32.6, 20.0, 6.4, 3.3],                    markPoint : {                        data : [                            {type : 'max', name: '最大值'},                            {type : 'min', name: '最小值'}                        ]                    },                    markLine : {                        data : [                            {type : 'average', name: '平均值'}                        ]                    }                },                {                    name:'降水量',                    type:'bar',                    data:[2.6, 5.9, 9.0, 26.4, 28.7, 70.7, 175.6, 182.2, 48.7, 18.8, 6.0, 2.3],                    markPoint : {                        data : [                            {name : '年最高', value : 182.2, xAxis: 7, yAxis: 183, symbolSize:18},                            {name : '年最低', value : 2.3, xAxis: 11, yAxis: 3}                        ]                    },                    markLine : {                        data : [                            {type : 'average', name : '平均值'}                        ]                    }                }            ]        };    }        function createChart(){         doCreatChart(createLineChart());        }            function doCreatChart(specificChartFunction){            require(            ['echarts','echarts/theme/macarons','echarts/chart/line',            'echarts/chart/bar','echarts/chart/pie'            ],            function(ec,theme){            myChart =ec.init(document.getElementById('main'),theme);            myChart.showLoading({                  text : "图表数据正在努力加载..."              });             specificChartFunction;            myChart.setOption(options); //先把可选项注入myChart中              myChart.hideLoading();             }        );        }       </script></body>

其实这里应该放一张效果动态图,但我不会···真的非常炫酷,可以拖拽的图表,和pc呈现出的效果一样一样的··


1 0
原创粉丝点击