千家信息网

怎么使用Android原生WebView+Highcharts实现可左右滑动的折线图

发表于:2026-10-31 作者:千家信息网编辑
千家信息网最后更新 2026年10月31日,这篇文章主要介绍"怎么使用Android原生WebView+Highcharts实现可左右滑动的折线图",在日常操作中,相信很多人在怎么使用Android原生WebView+Highcharts实现可
千家信息网最后更新 2026年10月31日怎么使用Android原生WebView+Highcharts实现可左右滑动的折线图

这篇文章主要介绍"怎么使用Android原生WebView+Highcharts实现可左右滑动的折线图",在日常操作中,相信很多人在怎么使用Android原生WebView+Highcharts实现可左右滑动的折线图问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"怎么使用Android原生WebView+Highcharts实现可左右滑动的折线图"的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

开发的思路如下:

1.编写activity,内含一个webview控件
2.编写工具类,与js进行交互,传输一些数据(例如网络请求需要的参数)
3.编写html与js代码,通过Android与js约定好的方法名进行数据的获取,完成Android与js的交互
4.调整html中div的宽度,达到自己想要的滑动以及折线图效果

(一)设计Android端的View层

activity_main.xml代码如下:

MainActivity.java代码如下:如果想与js进行交互,不要忘了加上第17行进行数据传输

public class MainActivity extends AppCompatActivity {    private WebView mWebView;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        mWebView = findViewById(R.id.webView);        initWebView(new HashMap<>());    }    public void initWebView(Map map) {        // 启用支持javascript        WebSettings settings = mWebView.getSettings();        settings.setJavaScriptEnabled(true);        mWebView.setVerticalScrollBarEnabled(false);        mWebView.addJavascriptInterface(new JsDataUtils(map), "android");        mWebView.loadUrl("file:///android_asset/line.html");    }}

(二)设计与JS交互的方法

JsDataUtils.java的代码如下,通过@JavascriptInterface与js进行交互,传输数据,这里传输的是网络请求需要的参数,到时候可以在js中使用ajax请求数据并绘制折线图,但是我们这里为了方便,只用模拟数据进行演示

public class JsDataUtils {    private Map map;    private Gson mGson = new Gson();    /**     * 通过构造函数像js传递网络请求的参数,以map作为容器,后面再转成字符串     *     * @param map     */    public JsDataUtils(Map map) {        this.map = map;    }    @JavascriptInterface    public String stringToHtml() {        return mGson.toJson(map);    }}

(三)开发html以及js逻辑

line.html代码如下:这里通过调整div的宽度决定折线图X轴的间隔划分,已知如果不进行间隔设置的话默认是均分

                    

line.js代码如下:14-22行是进行ajax请求数据,最后在chart的series中的data属性进行赋值绘制,这里使用测试数据进行演示,第6行是获取activity中传输的数据

var newArray=new Array(); var chart=null;   $(document).ready(function() {    //通过Android方法来获取参数map,转成json对象获取参数     var mapJson=android.stringToHtml();     var map=JSON.parse(mapJson);     function ajax_data() {                     //这里先用死数据进行测试,网络请求可以使用下面的ajax          var dataArr = [400,-500,300,200,400,-500,300,200,400,-500,300,200,400,-500,300,200,                        400,-500,300,200,400,-500,300,200,400,-500,300,200,400,-500,300,200,                        400,-500,300,200,400,-500,300,200,400,-500,300,200,400,-500,300,200,                        400,-500,300,200,400,-500,300,200,400,-500,300,200,400,-500,300,200];          /*$.ajax({            type : "GET",            url : "",//网络请求接口地址            async : false,            dataType : "json",            success : function(data){              //这里处理返回的数据,即data            }          });*/          return dataArr;        } chart = Highcharts.chart('container', {  legend: {    align: 'left',    verticalAlign: 'top',    x: 70,    y: -12,    itemDistance: 1,    itemStyle: {color:'#666', fontWeight:'normal' }  },  title: {text: ''},  credits: {enabled: false},  xAxis: [{    categories: [],    crosshair: true,    tickmarkPlacement: 'on',    tickPosition: 'inside',    tickInterval:1,    labels: {      // step:1,//      enabled:false,      style: {        color: '#999'      }    }  }],  chart:{  },  scrollbar:{    enabled:false  },  yAxis: [{    gridLineDashStyle: 'Dash',    gridLineColor: '#c7c7c7',    gridLineWidth: 1,    min:-1000,    tickInterval:50,    title:"",//删除y轴注释    max:1000,  }],  tooltip: {    shared: true  },  series: [{    name: '数据',    type: 'line',    yAxis: 0,    data: ajax_data(),    color: Highcharts.getOptions().colors[3],    tooltip: {      valueSuffix: ''    },    lineWidth:0.5,    marker: {      symbol: 'circle',      lineWidth: 0.5,      lineColor: Highcharts.getOptions().colors[3],      fillColor: 'white'    }  }]});});

到此,关于"怎么使用Android原生WebView+Highcharts实现可左右滑动的折线图"的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注网站,小编会继续努力为大家带来更多实用的文章!

数据 线图 代码 参数 网络 传输 方法 学习 宽度 更多 帮助 开发 测试 演示 设计 调整 实用 到时候 接下来 函数 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 百单网互联网科技有限公司怎么样 小马过河互联网科技 云电互联网科技 科技互联网创业计划书 居家互联网科技有限公司 顶级互联网科技成果有哪些 移动互联网科技股 互联网科技有哪些公司 和信科技工业互联网 深圳育鹏互联网科技有限公司招聘 互联网科技和法律行业 互联网企业科技类企业如何做账 广州千川互联网科技有限公司 有人说阿里系是互联网科技企业 吉林省码上互联网科技电话 互联网高科技行业有哪些企业 万物互联网智能科技 互联网公司属于科技吗 玉溪新华互联网科技怎么选 广西泛欧互联网科技有限公司 互联网科技深圳 涨乐互联网科技 互联网前沿科技 上海亿帐通互联网科技 金融科技和互联网金融 山东子淼互联网科技有限公司 广州千川互联网科技有限公司 湖北辰鑫科技互联网 玉溪新华互联网科技怎么选 科技发展第三阶段互联网时代
0