亚洲精品国产成人99久久,亚洲色欲www综合网,久久夜色精品国产亚洲http://m.tkk7.com/gf7/category/53067.html<a target="_blank"><img src="http://union.keepc.com/templates/default/images/1/950X90.gif" alt="KC網(wǎng)絡(luò)電話,中國(guó)最優(yōu)秀的網(wǎng)絡(luò)電話" width="950" height="90" border="0"></a>zh-cnFri, 30 Nov 2012 07:05:25 GMTFri, 30 Nov 2012 07:05:25 GMT60在android上動(dòng)態(tài)實(shí)現(xiàn)ichartjs的3D柱形圖http://m.tkk7.com/gf7/archive/2012/11/30/392279.html風(fēng)風(fēng)Fri, 30 Nov 2012 07:00:00 GMThttp://m.tkk7.com/gf7/archive/2012/11/30/392279.htmlhttp://m.tkk7.com/gf7/comments/392279.htmlhttp://m.tkk7.com/gf7/archive/2012/11/30/392279.html#Feedback0http://m.tkk7.com/gf7/comments/commentRss/392279.htmlhttp://m.tkk7.com/gf7/services/trackbacks/392279.html

ichartjs是一款基于HTML5的圖形庫(kù)。使用純javascript語(yǔ)言,利用HTML5的canvas標(biāo)簽繪制各式圖形。ichartjs可以為web應(yīng)用提供簡(jiǎn)單、直觀、可交互的體驗(yàn)級(jí)圖表組件。是web圖表方面的解決方案。最近正好在學(xué)HTML5,順便就用ichartjs來(lái)練習(xí)。ichartjs目前支持餅圖、折線圖、區(qū)域圖、柱形圖、條形圖。ichartjs是基于Apache License 2.0 協(xié)議的開(kāi)源項(xiàng)目。今天介紹的是如何在android手機(jī)上動(dòng)態(tài)實(shí)現(xiàn)3D柱形圖。若想詳細(xì)了解ichartjs,可以訪問(wèn)ichartjs官網(wǎng):http://www.ichartjs.cn/index.html

實(shí)現(xiàn)主要原理是所需實(shí)現(xiàn)的數(shù)據(jù)打包成json格式,因?yàn)閕chartjs規(guī)定的數(shù)據(jù)源統(tǒng)一采用json對(duì)象方式。數(shù)據(jù)源分為單一數(shù)據(jù)源與集合多值數(shù)據(jù)源,單一數(shù)據(jù)源的值為單一的數(shù)值,而集合多值數(shù)據(jù)源為數(shù)值集合。3D柱形圖使用的單一的數(shù)據(jù)源。廢話不多說(shuō)了,直接上代碼。

首先編寫(xiě)的是封裝數(shù)據(jù)的實(shí)體類Contact:

  1. package com.chinasofti.html;  
  2.   
  3. public class Contact {  
  4.     private String name; // 瀏覽器的名稱   
  5.     private double value; // 瀏覽器對(duì)應(yīng)的所占市場(chǎng)份額值   
  6.     private String color; // 在柱形圖中所顯示的顏色   
  7.       
  8.     /** 
  9.      * 構(gòu)造函數(shù) 
  10.      * @param name 瀏覽器的名稱 
  11.      * @param value 瀏覽器對(duì)應(yīng)的所占市場(chǎng)份額值 
  12.      * @param color 在柱形圖中所顯示的顏色 
  13.      */  
  14.     public Contact(String name, double value, String color) {  
  15.         this.name = name;  
  16.         this.value = value;  
  17.         this.color = color;  
  18.     }  
  19.       
  20.     // 下面是三個(gè)實(shí)例變量的getters and setters   
  21.     public String getName() {  
  22.         return name;  
  23.     }  
  24.     public void setName(String name) {  
  25.         this.name = name;  
  26.     }  
  27.     public double getValue() {  
  28.         return value;  
  29.     }  
  30.     public void setValue(double value) {  
  31.         this.value = value;  
  32.     }  
  33.     public String getColor() {  
  34.         return color;  
  35.     }  
  36.     public void setColor(String color) {  
  37.         this.color = color;  
  38.     }  
  39.       
  40. }  

接著創(chuàng)建一個(gè)list將所需要的contact對(duì)象添加到list中:

  1. import java.util.ArrayList;  
  2. import java.util.List;  
  3.   
  4. import com.chinasofti.html.Contact;  
  5.   
  6. public class ContactService {  
  7.   
  8.     public List<Contact> getContacts() {  
  9.         List<Contact> contacts = new ArrayList<Contact>();  
  10.         contacts.add(new Contact("IE"32.85"#a5c2d5"));  
  11.         contacts.add(new Contact("Chrome"33.59"#cbab4f"));  
  12.         contacts.add(new Contact("Firefox"22.85"#76a871"));  
  13.         contacts.add(new Contact("Safari"7.39"#9f7961"));  
  14.         contacts.add(new Contact("Opera"1.63"#a56f8f"));  
  15.         contacts.add(new Contact("Other"1.69"#6f83a5"));  
  16.         return contacts;  
  17.     }  
  18. }  

然后編寫(xiě)android主界面代碼,實(shí)現(xiàn)list轉(zhuǎn)換成json格式字符串,并實(shí)現(xiàn)和html文件的交互:

 

  1. import java.util.List;  
  2.   
  3. import org.json.JSONArray;  
  4. import org.json.JSONException;  
  5. import org.json.JSONObject;  
  6.   
  7. import android.app.Activity;  
  8. import android.os.Bundle;  
  9. import android.util.Log;  
  10. import android.webkit.WebView;  
  11.   
  12. public class MainActivity extends Activity {  
  13.     private static final String TAG = "MainActivity";  
  14.     private ContactService contactService; // 構(gòu)建list的類   
  15.     private WebView webView;  
  16.   
  17.     @Override  
  18.     public void onCreate(Bundle savedInstanceState) {  
  19.         super.onCreate(savedInstanceState);  
  20.         setContentView(R.layout.main);  
  21.   
  22.         contactService = new ContactService();  
  23.         webView = (WebView) this.findViewById(R.id.webView);  
  24.         webView.getSettings().setJavaScriptEnabled(true); // 允許使用javascript腳本語(yǔ)言   
  25.         webView.getSettings().setBuiltInZoomControls(true); // 設(shè)置可以縮放   
  26.         // 設(shè)置javaScript可用于操作MainActivity類   
  27.         webView.addJavascriptInterface(this,TAG);  
  28.         webView.loadUrl("file:///android_asset/3dchart.html");  
  29.     }  
  30.       
  31.     /** 
  32.      * 實(shí)現(xiàn)將list轉(zhuǎn)換成json格式字符串 
  33.      * @return json格式的字符串 
  34.      */  
  35.     public String getContacts() {  
  36.         List<Contact> contacts = contactService.getContacts();  
  37.         String json = null;  
  38.         try {  
  39.             JSONArray array = new JSONArray();  
  40.             for (Contact contact : contacts) {  
  41.   
  42.                 JSONObject item = new JSONObject();  
  43.                 item.put("name", contact.getName());  
  44.                 item.put("value", contact.getValue());  
  45.                 item.put("color", contact.getColor());  
  46.                 array.put(item);  
  47.             }  
  48.             json = array.toString();  
  49.             Log.i(TAG, json);  
  50.             // webView.loadUrl("javascript:show('" + json + "')");   
  51.         } catch (JSONException e) {  
  52.             e.printStackTrace();  
  53.         }  
  54.         return json;  
  55.     }  
  56. }  

最后是編輯html文件。要實(shí)現(xiàn)ichartjs表圖,首先要保證在assets目錄下已導(dǎo)入了ichart - 1.0.js。然后對(duì)html文件進(jìn)行編輯:

 

  1. <!DOCTYPE html>  
  2. <html>  
  3.     <head>  
  4.         <meta charset="UTF-8" />  
  5.         <title>Hello World</title>  
  6.         <meta name="Description" content="" />  
  7.         <meta name="Keywords" content="" />  
  8.         <script type="text/javascript" src="ichart-1.0.js"></script>  
  9.         <script type="text/javascript">  
  10.             var data = new Array();  
  11.             var contact = window.MainActivity.getContacts(); //得到MainActivity中轉(zhuǎn)換出的json字符串  
  12.             eval('data='+contact); //得到j(luò)son數(shù)據(jù)  
  13.   
  14. $(function(){     
  15.     new iChart.Column3D({  
  16.         render : 'canvasDiv', //渲染的Dom目標(biāo),canvasDiv為Dom的ID  
  17.         data: data, //綁定數(shù)據(jù)  
  18.         title : 'Top 5 Browsers in August 2012', //設(shè)置標(biāo)題  
  19.         showpercent:true, //顯示百分比  
  20.         decimalsnum:2,   
  21.         width : 800, //設(shè)置寬度,默認(rèn)單位為px  
  22.         height : 400, //設(shè)置高度,默認(rèn)單位為px  
  23.         align:'left',  
  24.         offsetx:50,  
  25.         legend : {  
  26.             enable : true  
  27.         },  
  28.         coordinate:{ //配置自定義坐標(biāo)軸  
  29.             scale:[{ //配置自定義值軸  
  30.                  width:600,  
  31.                  position:'left', //配置左值軸     
  32.                  start_scale:0, //設(shè)置開(kāi)始刻度為0  
  33.                  end_scale:40, //設(shè)置結(jié)束刻度為40  
  34.                  scale_space:8, //設(shè)置刻度間距為8  
  35.                  listeners:{ //配置事件  
  36.                     parseText:function(t,x,y){ //設(shè)置解析值軸文本  
  37.                         return {text:t+"%"}  
  38.                     }  
  39.                 }  
  40.             }]  
  41.         }  
  42.     }).draw(); //調(diào)用繪圖方法開(kāi)始繪圖  
  43. });  
  44.             </script>  
  45.         </head>  
  46.         <body>  
  47.             <div id='canvasDiv'></div>  
  48.         </body>  
  49. </html>  

最后得到效果為:

 


 



風(fēng) 2012-11-30 15:00 發(fā)表評(píng)論
]]>
主站蜘蛛池模板: 高清国语自产拍免费视频国产| 国内精品免费在线观看| 在线观看成人免费视频| 亚洲国产成人手机在线电影bd| 无码乱肉视频免费大全合集| 亚洲综合一区二区精品久久| 亚洲一区二区三区免费在线观看| 亚洲精品人成电影网| 100000免费啪啪18免进| 久久精品国产亚洲αv忘忧草| 我要看WWW免费看插插视频| 精品亚洲福利一区二区| 韩国欧洲一级毛片免费| 黄网站在线播放视频免费观看| 亚洲一区二区视频在线观看| 一区二区三区免费视频网站| 久久亚洲精品无码播放| a毛看片免费观看视频| 亚洲日韩国产精品无码av| 日韩精品福利片午夜免费观着| 亚洲av永久无码一区二区三区| 日本二区免费一片黄2019| 曰批免费视频播放免费| 亚洲αv在线精品糸列| 亚洲第一网站免费视频| 亚洲国产乱码最新视频| 亚洲高清偷拍一区二区三区| aa在线免费观看| 亚洲专区中文字幕| 国产免费观看网站| 日韩免费在线观看视频| 亚洲人成网站免费播放| 亚洲色欲色欲www在线丝| 每天更新的免费av片在线观看| 亚洲AV成人一区二区三区观看 | 久久精品九九亚洲精品| 全免费毛片在线播放| 四虎影视永久在线精品免费| 亚洲AV无码乱码国产麻豆穿越 | 久久午夜伦鲁片免费无码| 国产亚洲精品影视在线|