在Android 中使用 echarts

本文介绍了如何在Android应用中使用ECharts框架展示图表。ECharts是百度提供的开源图表库,通常通过WebView加载H5页面来使用。文章提到了两种实现方案:Android封装数据传递给H5解析和H5负责所有操作。文中以第一种方案为例,详细讲解了如何下载ECharts库,创建HTML文件,以及在XML布局和Kotlin代码中设置WebView。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

做Android开发经常会需要画一些图表,自己写的话不仅麻烦而且工作量太大,所以一般都会采用第三方图表框架 ,这时候就用到了ECharts

在这里插入图片描述

前言

ECharts 是由百度开发提供的开源框架,主要提供给Web使用,所以Android中一般使用WebView加载显示,其实本质上也就是用 WebView 加载本地 H5。
ECharts的图表样式主要由option控制,option是由js编写,如下面代码就是一个简单折线图的option。

在andorid中使用ECharts,一般来讲我们有两种实现方案

  • Android获取数据并封装好option,然后传递给h5,h5再对数据进行解析,调用ECharts绘制。
    这种方案的难点在于option的属性太多了,封装起来太麻烦。
  • h5处理所有操作,进行获取数据,并调用ECharts进行绘制。
    这种方案需要对js比较熟悉。

以第一种为例:
下载自定义图表

  • 将下载好的echarts.min.js文件放入工程中assets目录下。
    在这里插入图片描述

  • 编写healthy.html文件,并将healthy.html放入assets目录。
    在这里插入图片描述
    在这里插入图片描述
    (或者直接输入healthy.html)

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <meta name="renderer" content="webkit">
    <!-- 引入 ECharts 文件 -->
    <script src="echarts.min.js"></script>
</head>
<body>
<!-- 为 ECharts 准备一个具备大小(宽高)的 DOM -->
<div id="main" style="height: 244px;"></div>
<script type="text/javascript">
     var myChart1 = echarts.init(document.getElementById('main'));

var option;
option = {
   
        title: {
   
          text: "工单数波形图",
          textStyle: {
   
            color: "#2DC3FB",
            fontWeight: "bold",
            fontSize: "16",
          },
          padding: [20, 0, 0, 0],
        },
        tooltip: {
   
          backgroundColor: "#31516B",
          opacity: 0.3,
          trigger: "axis",
          axisPointer: {
     // 焦点处样式
            type: "cross",
          },
          extraCssText: "text-align: center;",
          //在这里设置
          formatter: "{b0}<br/>{c0}个",
          textStyle: {
   
            color: "rgba(145, 201, 246, 1)",
          },
        },
        legend: {
   
          data: ["总工单", "未完成工单"],
          textStyle: {
   
            color: "#738CA0",
          },
          itemWidth: 10,
          itemHeight: 10,
          icon: "rect",
          right: 16,
          top: 16,
        },
        grid: {
   
          left: "3%",
          right: "4%",
          bottom: "3%",
          containLabel: true,
        },
        xAxis: {
   
          type: "category",
          axisTick: 
要在 Android使用 ECharts 绘制折线图,您需要按照以下步骤进行操作: 1. 在您的 Android 项目中创建一个 assets 目录,并将 ECharts JavaScript 库文件放到该目录中。 2. 创建一个 HTML 文件,将 ECharts 初始化代码嵌入其中,并将该文件放到 assets 目录中。 3. 在 WebView 控件中加载该 HTML 文件,以显示您的 ECharts 图表。 4. 在 ECharts 初始化代码中使用 ECharts API 配置您的图表,包括数据和样式。 下面是一个示例代码片段,演示如何使用 ECharts 绘制折线图: ```java WebView webView = findViewById(R.id.webView); WebSettings webSettings = webView.getSettings(); webSettings.setJavaScriptEnabled(true); webView.setWebViewClient(new WebViewClient() { public void onPageFinished(WebView view, String url) { // 加载完成后调用 JavaScript 函数初始化 ECharts 图表 view.loadUrl("javascript:echartsInit()"); } }); // 加载 ECharts JavaScript 库文件 webView.loadUrl("file:///android_asset/echarts.min.js"); // 加载包含 ECharts 初始化代码的 HTML 文件 webView.loadUrl("file:///android_asset/echarts.html"); ``` 请注意,在上面的代码示例中,我们将 ECharts 初始化代码嵌入到名为 echarts.html 的 HTML 文件中,并在 WebView 控件中加载该文件。这个 HTML 文件应该类似于以下内容: ```html <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>ECharts Demo</title> <script src="echarts.min.js"></script> </head> <body> <div id="chart" style="width: 100%; height: 100%;"></div> <script type="text/javascript"> function echartsInit() { // 创建 ECharts 实例 var myChart = echarts.init(document.getElementById('chart')); // 在这里配置 ECharts 图表 myChart.setOption({ title: { text: '折线图示例' }, tooltip: {}, xAxis: { data: ['周一', '周二', '周三', '周四', '周五', '周六', '周日'] }, yAxis: {}, series: [{ name: '销量', type: 'line', data: [5, 20, 36, 10, 10, 20, 5] }] }); } </script> </body> </html> ``` 请注意,上面的 HTML 文件中包含一个名为 echarts.min.js 的 JavaScript 文件,这是我们在 Android 项目的 assets 目录中放置的 ECharts JavaScript 库文件。在 echartsInit() 函数中,我们使用 ECharts API 配置了一个折线图,包括标题、数据、轴和系列。通过更改数据和样式选项,您可以自定义您自己的 ECharts 折线图。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

AaVictory.

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值