真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

怎么在AndroidStudio中使用AChartEngine制作餅圖

本篇文章為大家展示了怎么在Android Studio中使用AChartEngine制作餅圖,內(nèi)容簡(jiǎn)明扼要并且容易理解,絕對(duì)能使你眼前一亮,通過(guò)這篇文章的詳細(xì)介紹希望你能有所收獲。

創(chuàng)新互聯(lián)公司-專業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性價(jià)比奉化網(wǎng)站開發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫(kù),直接使用。一站式奉化網(wǎng)站制作公司更省心,省錢,快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋奉化地區(qū)。費(fèi)用合理售后完善,10余年實(shí)體公司更值得信賴。

AChartEngine簡(jiǎn)介:

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

AChartEngine支持繪制餅圖、柱狀圖、折線圖、散點(diǎn)圖等;

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

所有的圖表都可以建立為一個(gè)view,也可以建立為一個(gè)用于啟動(dòng)activity的intent。

AChartEngine的運(yùn)行機(jī)制:

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

數(shù)據(jù)集:由許多數(shù)據(jù)組成;

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

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

效果圖:

怎么在Android Studio中使用AChartEngine制作餅圖

具體步驟:

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

2、將下載的jar包引入到項(xiàng)目中(具體方法可參考我的另一篇博文:Android Studio 在項(xiàng)目中引用第三方j(luò)ar包 )

3、構(gòu)建數(shù)據(jù)集(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("圖文報(bào)表", values);

protected CategorySeries buildCategoryDataset(String title, double[] values){
 CategorySeries series = new CategorySeries(title);
 series.add("房租:"+values[0], values[0]/sumVal);
 series.add("伙食費(fèi):"+values[1], values[1]/sumVal);
 series.add("生活費(fèi):"+values[2], values[2]/sumVal);
 series.add("其它:"+values[3], values[3]/sumVal);
 return series;
}

4、構(gòu)建渲染器(Renderer)

餅圖的渲染器:

private DefaultRenderer getPieRenderer(){
 DefaultRenderer renderer = new DefaultRenderer();
 renderer.setZoomButtonsVisible(true);//設(shè)置顯示放大放小縮小按鈕
 renderer.setZoomEnabled(true);//設(shè)置允許放大放小
 //設(shè)置各個(gè)類別分別對(duì)應(yīng)的顏色
 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);//設(shè)置坐標(biāo)字號(hào)
 renderer.setLegendTextSize(50);//設(shè)置圖例字號(hào)
 renderer.setApplyBackgroundColor(true);//設(shè)置是否應(yīng)用背景色
 renderer.setBackgroundColor(Color.BLACK);

 return renderer;
}

對(duì)應(yīng)的顏色:

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);//設(shè)置左下角標(biāo)注文字的大小
 renderer.setLabelsTextSize(25);//餅圖上標(biāo)記文字的字體大小
 renderer.setLabelsColor(Color.BLACK);//餅圖上標(biāo)記文字的顏色
 renderer.setPanEnabled(false);
 renderer.setDisplayValues(true);//顯示數(shù)據(jù)


 for(int color : colors){
 SimpleSeriesRenderer r = new SimpleSeriesRenderer();
 r.setColor(color);
 //設(shè)置百分比
 r.setChartValuesFormat(NumberFormat.getPercentInstance());
 renderer.addSeriesRenderer(r);
 }
 return renderer;
}

5、生成餅圖

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

區(qū)別在于:

一個(gè)返回Intent,這個(gè)intent可以啟動(dòng)一個(gè)特定的activity;

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

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

怎么在Android Studio中使用AChartEngine制作餅圖

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

怎么在Android Studio中使用AChartEngine制作餅圖

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

先在布局文件中創(chuàng)建控件:


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常用的設(shè)置:

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

setApplyBackgroundColor(boolean apply) 設(shè)置是否應(yīng)用背景色

setBackgroundColor(int color) 設(shè)置背景色

setChartTitle(java.lang.String title)設(shè)置圖表的標(biāo)題

setChartTitleTextSize(float textSize)設(shè)置圖表標(biāo)題字號(hào)

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

setFitLegend(boolean fit) 設(shè)置圖例字號(hào)自適應(yīng)

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

setLegendTextSize(float textSize) 設(shè)置圖例字號(hào)

setPanEnabled(boolean enabled) 設(shè)置是否允許拖動(dòng)

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

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

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

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

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

setDisplayValues(boolean enabled) 設(shè)置是否顯示數(shù)據(jù)

setChartValuesFormat(NumberFormat format) 設(shè)置百分比

Android是什么

Android是一種基于Linux內(nèi)核的自由及開放源代碼的操作系統(tǒng),主要使用于移動(dòng)設(shè)備,如智能手機(jī)和平板電腦,由美國(guó)Google公司和開放手機(jī)聯(lián)盟領(lǐng)導(dǎo)及開發(fā)。

上述內(nèi)容就是怎么在Android Studio中使用AChartEngine制作餅圖,你們學(xué)到知識(shí)或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識(shí)儲(chǔ)備,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。


網(wǎng)站名稱:怎么在AndroidStudio中使用AChartEngine制作餅圖
網(wǎng)頁(yè)路徑:http://weahome.cn/article/pcpcip.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部