亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 系統 > Android > 正文

Android Studio利用AChartEngine制作餅圖的方法

2019-10-21 21:37:50
字體:
來源:轉載
供稿:網友

前言:

眾所周知,大家在很多項目中都會使用到圖表,具體表現形式為餅圖、折線圖、柱狀圖等,但是網上有很多圖表架包都是需要收費的,而Google的AChartEngine是免費的,于是AChartEngine就變成了首選方案,接下來就介紹一下AChartEngine在項目中的具體使用方法。下面話不多說了,來一起看看詳細的介紹吧

AChartEngine簡介:

AChartEngine是一款基于Android的圖表繪制引擎;

AChartEngine支持繪制餅圖、柱狀圖、折線圖、散點圖等;

AChartEngine繪制的圖表都支持水平(默認)或垂直方式展示,并且支持許多其他的自定義功能;

所有的圖表都可以建立為一個view,也可以建立為一個用于啟動activity的intent。

AChartEngine的運行機制:

每個圖表都需要一個數據集 (Dataset) 和 渲染器集合 (Renderer);

數據集:由許多數據組成;

渲染器:由不同的子渲染器組成;

獲取Activity 或 組件 : 圖表工廠 (ChartFactory) 通過調用 數據集 (Dataset) 和 渲染器集合 (Renderer) 可以生成帶圖表的 GraphicalView 或者 GraphicalActivity。

效果圖:

AndroidStudio,AChartEngine,餅圖

具體步驟:

1、下載AChartEngine庫:http://code.google.com/p/achartengine/downloads/list

2、將下載的jar包引入到項目中

3、構建數據集(Dataset),CategorySeries.add(String category,double value)

double[] values = {500.00, 800.00, 1000.00, 900.00};double sumVal = values[0] + values[1] + values[2] + values[3];CategorySeries dataset = buildCategoryDataset("圖文報表", values);protected CategorySeries buildCategoryDataset(String title, double[] values){ CategorySeries series = new CategorySeries(title); series.add("房租:"+values[0], values[0]/sumVal); series.add("伙食費:"+values[1], values[1]/sumVal); series.add("生活費:"+values[2], values[2]/sumVal); series.add("其它:"+values[3], values[3]/sumVal); return series;}

4、構建渲染器(Renderer)

餅圖的渲染器:

private DefaultRenderer getPieRenderer(){ DefaultRenderer renderer = new DefaultRenderer(); renderer.setZoomButtonsVisible(true);//設置顯示放大放小縮小按鈕 renderer.setZoomEnabled(true);//設置允許放大放小 //設置各個類別分別對應的顏色 SimpleSeriesRenderer yellowRenderer = new SimpleSeriesRenderer(); yellowRenderer.setColor(Color.YELLOW); SimpleSeriesRenderer blueRenderer = new SimpleSeriesRenderer(); blueRenderer.setColor(Color.BLUE); SimpleSeriesRenderer redRenderer = new SimpleSeriesRenderer(); redRenderer.setColor(Color.RED); renderer.addSeriesRenderer(yellowRenderer); renderer.addSeriesRenderer(blueRenderer); renderer.addSeriesRenderer(redRenderer); renderer.setLabelsTextSize(30);//設置坐標字號 renderer.setLegendTextSize(50);//設置圖例字號 renderer.setApplyBackgroundColor(true);//設置是否應用背景色 renderer.setBackgroundColor(Color.BLACK); return renderer;}

對應的顏色:

int[] colors = {Color.BLUE, Color.GREEN, Color.MAGENTA, Color.RED};DefaultRenderer renderer = buildCategoryRenderer(colors);protected DefaultRenderer buildCategoryRenderer(int[] colors){ DefaultRenderer renderer = new DefaultRenderer(); renderer.setLegendTextSize(35);//設置左下角標注文字的大小 renderer.setLabelsTextSize(25);//餅圖上標記文字的字體大小 renderer.setLabelsColor(Color.BLACK);//餅圖上標記文字的顏色 renderer.setPanEnabled(false); renderer.setDisplayValues(true);//顯示數據 for(int color : colors){ SimpleSeriesRenderer r = new SimpleSeriesRenderer(); r.setColor(color); //設置百分比 r.setChartValuesFormat(NumberFormat.getPercentInstance()); renderer.addSeriesRenderer(r); } return renderer;}

5、生成餅圖

有兩種方式:調用ChartFactory.getPieChartIntent()或者 getPieChartView()

區別在于:

一個返回Intent,這個intent可以啟動一個特定的activity;

另一個返回GraphicalView,這個GraphicalView可以靈活設置,它可以僅作為一部分顯示在任何activity上

用ChartFactory.getPieChartIntent()方法生成餅圖:

AndroidStudio,AChartEngine,餅圖

(備注:使用該方法的話,則需要在AndroidManifest.xml中注冊org.achartengine.GraphicalActivity,添加位置如下圖:)

AndroidStudio,AChartEngine,餅圖

用ChartFactory.getPieChartView()方法生成餅圖:

先在布局文件中創建控件:

<LinearLayout android:id="@+id/ll_expense_piechart" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_centerHorizontal="true" android:layout_centerVertical="true" android:orientation="vertical"></LinearLayout>

Activity文件中生成餅圖:

private LinearLayout ll_expense_piechart;private GraphicalView graphicalView; private void initPieChart(View v){ ll_expense_piechart = (LinearLayout) v.findViewById(R.id.ll_expense_piechart); ll_expense_piechart.removeAllViews(); graphicalView = ChartFactory.getPieChartView(getContext()  ,dataset, renderer);//餅狀圖 graphicalView.setLayoutParams(new LayoutParams(LayoutParams.WRAP_CONTENT, LayoutParams.WRAP_CONTENT)); ll_expense_piechart.addView(graphicalView);}

Renderer常用的設置:

addSeriesRenderer(SimpleSeriesRenderer renderer)增加一個renderer到multiple renderer中

setApplyBackgroundColor(boolean apply) 設置是否應用背景色

setBackgroundColor(int color) 設置背景色

setChartTitle(java.lang.String title)設置圖表的標題

setChartTitleTextSize(float textSize)設置圖表標題字號

setClickEnabled(boolean enabled) 設置是否允許單擊事件

setFitLegend(boolean fit) 設置圖例字號自適應

setLegendHeight(int height)設置圖例高度(單位: pixels)

setLegendTextSize(float textSize) 設置圖例字號

setPanEnabled(boolean enabled) 設置是否允許拖動

setShowLegend(boolean showLegend) 設置是否顯示圖例

setTextTypeface(java.lang.String typefaceName, int style) 設置字體名和類型

setZoomButtonsVisible(boolean visible) 設置是否顯示放大縮小按鈕

setZoomEnabled(boolean enabled) 設置是否允許放大和縮小

setZoomRate(float rate) 設置放大縮小的倍率

setDisplayValues(boolean enabled) 設置是否顯示數據

setChartValuesFormat(NumberFormat format) 設置百分比

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,如果有疑問大家可以留言交流,謝謝大家對VEVB武林網的支持。


注:相關教程知識閱讀請移步到Android開發頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
久久国产精品影视| 日本午夜精品理论片a级appf发布| 成人免费大片黄在线播放| 亚洲成**性毛茸茸| 北条麻妃在线一区二区| 亚洲天堂成人在线视频| 91精品视频免费观看| 日韩免费观看在线观看| 久久精视频免费在线久久完整在线看| 日韩精品中文在线观看| 国产精品久久久久久超碰| 成人信息集中地欧美| 日韩一区二区精品视频| 亚洲日本欧美日韩高观看| www.日韩不卡电影av| 成人欧美一区二区三区在线| 久久精品色欧美aⅴ一区二区| 国产精品视频免费在线| 欧美日韩国产综合新一区| 国产精品久久久久久av福利软件| 久久男人资源视频| 一区二区三区四区视频| 久久精彩免费视频| 国产成人免费91av在线| 国产一区二区三区在线看| 亚洲r级在线观看| 97香蕉超级碰碰久久免费软件| 国产综合久久久久久| 少妇精69xxtheporn| 国产精品爽黄69| 在线观看国产精品91| 欧美国产日韩视频| 中文字幕日韩精品在线| 超碰日本道色综合久久综合| 亚洲精美色品网站| 日本91av在线播放| 成人免费看吃奶视频网站| 日韩av电影国产| 狠狠做深爱婷婷久久综合一区| 亚洲美女在线视频| 日韩av不卡电影| 欧美成人黄色小视频| 日韩中文字幕在线免费观看| 久久噜噜噜精品国产亚洲综合| 欧美激情成人在线视频| 日本a级片电影一区二区| 北条麻妃99精品青青久久| 亚洲欧美综合区自拍另类| 欧美电影在线观看完整版| 国产精品精品久久久久久| 久久国产精品网站| 2018日韩中文字幕| 成人激情春色网| 亚洲电影av在线| 91精品国产自产91精品| 亚洲欧美日韩久久久久久| 国产精品久久久久国产a级| 不卡中文字幕av| zzjj国产精品一区二区| 日韩欧美在线观看视频| 91免费国产网站| 国产在线观看不卡| 欧美亚洲另类在线| 亚洲tv在线观看| 亚洲精品国产精品国自产观看浪潮| 国产在线拍揄自揄视频不卡99| 国产亚洲免费的视频看| 久久久久久久国产精品| 精品一区二区三区四区| 亚洲国产精品久久精品怡红院| 亚洲va国产va天堂va久久| 日本高清视频一区| 亚洲免费电影在线观看| 在线视频日韩精品| 亚洲一级一级97网| 亚洲直播在线一区| 国产欧洲精品视频| 97**国产露脸精品国产| 精品美女久久久久久免费| 中文字幕精品在线视频| 亚洲色图日韩av| 亚洲国产欧美日韩精品| 欧美日韩成人黄色| 亚洲第一区在线观看| 国产一区二区三区日韩欧美| 亚洲人午夜精品| 上原亚衣av一区二区三区| 精品国产户外野外| 欧美日韩在线免费观看| 国产成人精品av| 91色p视频在线| 免费99精品国产自在在线| 91日本在线视频| www高清在线视频日韩欧美| 国产精品久久精品| 色av中文字幕一区| 亚洲第一精品自拍| 欧美在线播放视频| 俺也去精品视频在线观看| 久久香蕉频线观| 成人黄色在线播放| 国产精品久久久久久五月尺| 久久亚洲精品国产亚洲老地址| 最近2019免费中文字幕视频三| 国产精品成人av在线| 亚洲成色777777女色窝| 欧美诱惑福利视频| 国产91久久婷婷一区二区| 欧美视频13p| 亚洲欧美一区二区精品久久久| 久久久久久久久综合| 国内精久久久久久久久久人| 日本成人黄色片| 亚洲成色777777在线观看影院| 久久韩国免费视频| 久久久国产一区二区三区| 国产精品xxx视频| 久久精品国产免费观看| 午夜精品三级视频福利| 尤物yw午夜国产精品视频| 国产欧美中文字幕| 久久99精品国产99久久6尤物| 国产精品男人爽免费视频1| 日韩国产高清污视频在线观看| 久久久久久久久中文字幕| 亚洲精品成人久久| 亚洲国产精品成人va在线观看| 国产亚洲欧美日韩美女| 性视频1819p久久| 91av视频在线观看| 欧美有码在线视频| 中日韩午夜理伦电影免费| 国产亚洲精品美女久久久久| 欧美黑人狂野猛交老妇| 日本高清视频精品| 91av在线影院| 亚洲精品国偷自产在线99热| 亚洲伊人久久综合| 久久国产精品久久国产精品| 精品久久久国产| 久久久国产一区二区三区| 97在线观看视频| 亚洲国产古装精品网站| 成人免费视频网| 日韩欧美在线国产| 欧美成年人视频网站欧美| 亚洲黄色av网站| 91禁外国网站| 亚洲精品小视频在线观看| 97国产精品久久| 精品日韩美女的视频高清| 欧美性猛交xxxx| 日韩小视频在线| 国产精品视频内| 亚洲欧美制服第一页| 色综合久久久久久中文网| 成人高h视频在线| 精品国内产的精品视频在线观看| 国产精品扒开腿爽爽爽视频| 一区二区成人精品| 亚洲国产成人久久综合一区| 亚洲男人天堂古典| 亚洲视频自拍偷拍| 色青青草原桃花久久综合|