亚洲精品国产成人99久久,亚洲色欲www综合网,久久夜色精品国产亚洲http://www.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://www.tkk7.com/gf7/archive/2012/11/30/392279.html風(fēng)風(fēng)Fri, 30 Nov 2012 07:00:00 GMThttp://www.tkk7.com/gf7/archive/2012/11/30/392279.htmlhttp://www.tkk7.com/gf7/comments/392279.htmlhttp://www.tkk7.com/gf7/archive/2012/11/30/392279.html#Feedback0http://www.tkk7.com/gf7/comments/commentRss/392279.htmlhttp://www.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)論
]]>
主站蜘蛛池模板: 亚洲成AV人片在WWW| 亚洲精品偷拍无码不卡av| 亚洲av日韩av永久在线观看| 亚洲免费视频观看| 亚洲国产综合精品中文第一区| 成在线人免费无码高潮喷水| 亚洲色婷婷六月亚洲婷婷6月| 国产福利在线观看永久免费| 亚洲日韩小电影在线观看| 日韩精品无码免费专区网站| 亚洲成A∨人片在线观看不卡| 日本视频免费高清一本18| 亚洲综合在线视频| 国产精品成人免费福利| avtt天堂网手机版亚洲| 岛国片在线免费观看| 精品久久久久久久久亚洲偷窥女厕| 午夜免费福利影院| 人禽伦免费交视频播放| 国产V亚洲V天堂无码久久久| **aaaaa毛片免费| 亚洲精品无码mⅴ在线观看| 国产小视频在线观看免费| caoporm碰最新免费公开视频| 亚洲av永久无码精品网站| 69影院毛片免费观看视频在线| 国产成人亚洲综合一区| 亚洲AV无码成人精品区大在线| 皇色在线免费视频| 久久精品国产亚洲AV麻豆网站 | 国产免费一区二区三区| 狠狠色伊人亚洲综合网站色| 亚洲第一福利网站在线观看| 中文在线免费看视频| 亚洲福利一区二区| 国产成人免费A在线视频| 特级精品毛片免费观看| 亚洲精品无码专区在线播放| 亚洲综合色区在线观看| 免费看片在线观看| 国产VA免费精品高清在线|