zoukankan      html  css  js  c++  java
  • android highcharts 柱状图例子

    android提供achartengine api 只能做简单的,如果是复杂的图表,个人的想法结合highcharts来完成;减小工作量,官方提供的例子也非常丰富。

    通过android webview来请求数据;
    public class ZTMainActivity extends Activity {

    WebView browser;
    ProgressDialog pd;
    Handler handler;
    
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_ztmain);
        init();// 执行初始化函数
        String urls = "file:///android_asset/ztpad/jsp/subway/including/subwayflow_chart.html";
        loadUrl(browser, urls);     
    }
    
    /**
     * 初始化数据
     */
    public void init() {
    
        pd = new ProgressDialog(ZTMainActivity.this);
        pd.setProgressStyle(ProgressDialog.STYLE_SPINNER);
        pd.setMessage("正在请求数据,请稍候...");
    
        handler = new Handler() {
            public void handleMessage(Message msg) {// 定义一个Handler,用于处理下载线程与UI间通讯             
                if (!Thread.currentThread().isInterrupted()) {
                    switch (msg.what) {
                    case 0:
                        pd.show();// 显示进度对话框
                        break;
                    case 1:
                        pd.hide();// 隐藏进度对话框,不可使用dismiss()、cancel(),否则再次调用show()时,显示的对话框小圆圈不会动。
                        break;
                    }
                }
                super.handleMessage(msg);
            }
        };      
    
        browser = (WebView) findViewById(R.id.wv);
        browser.getSettings().setJavaScriptEnabled(true);// 可用JS
    
        browser.getSettings().setSupportZoom(true);
        browser.getSettings().setBuiltInZoomControls(false);
        browser.getSettings().setUseWideViewPort(false);
        browser.getSettings().setLoadWithOverviewMode(false);
        browser.getSettings().setAppCacheEnabled(true);
        browser.getSettings().setCacheMode(browser.getSettings().LOAD_NO_CACHE);
        browser.getSettings().setDatabaseEnabled(true);
        browser.getSettings().setDomStorageEnabled(true);
        browser.getSettings().setJavaScriptEnabled(true);
        browser.getSettings().setJavaScriptCanOpenWindowsAutomatically(true);
    
        browser.setScrollBarStyle(0);// 滚动条风格,为0就是不给滚动条留空间,滚动条覆盖在网页上
    
        browser.setWebViewClient(new WebViewClient() {
            public boolean shouldOverrideUrlLoading(final WebView view,
                    final String url) {
                loadUrl(view, url);// 载入网页
                return true;
            }// 重写点击动作,用webview载入
    
        });
    
        browser.setWebChromeClient(new WebChromeClient() {
            public void onProgressChanged(WebView view, int progress) {// 载入进度改变而触发
                if (progress == 100) {
                    handler.sendEmptyMessage(1);// 如果全部载入,隐藏进度对话框
                }
                super.onProgressChanged(view, progress);
            }
        }); 
    }
    
    public void loadUrl(final WebView view, final String url) {
        new Thread() {          
            public void run() {     
                try{        
                    handler.sendEmptyMessage(0);
                    view.loadUrl(url);// 载入网页
                }catch(Exception e){
                    handler.sendEmptyMessage(1);
                }
            }
        }.start();
    }

    }

    效果如图:

    转:http://my.eoe.cn/1088628/archive/5330.html

  • 相关阅读:
    csharp: Cyotek.GhostScript.PdfConversion pdf convert image
    csharp: using Acrobat.dll pdf convert images in winform
    机器学习实战---K均值聚类算法
    机器学习实战---决策树CART回归树实现
    机器学习实战---决策树CART简介及分类树实现
    机器学习实战---线性回归(更好的使用正规方程求解)
    机器学习实战---逻辑回归梯度上升(更好的理解sigmoid函数的含义并改进)
    机器学习实战---朴素贝叶斯算法使用K折交叉验证
    机器学习实战---朴素贝叶斯算法
    机器学习实战---决策树ID3算法
  • 原文地址:https://www.cnblogs.com/gzggyy/p/3173738.html
Copyright © 2011-2022 走看看