内射老阿姨1区2区3区4区_久久精品人人做人人爽电影蜜月_久久国产精品亚洲77777_99精品又大又爽又粗少妇毛片

怎么在AndroidStudio中使用AChartEngine制作餅圖-創(chuàng)新互聯(lián)

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

創(chuàng)新互聯(lián)建站專注于葉集網(wǎng)站建設(shè)服務(wù)及定制,我們擁有豐富的企業(yè)做網(wǎng)站經(jīng)驗。 熱誠為您提供葉集營銷型網(wǎng)站建設(shè),葉集網(wǎng)站制作、葉集網(wǎng)頁設(shè)計、葉集網(wǎng)站官網(wǎng)定制、小程序定制開發(fā)服務(wù),打造葉集網(wǎng)絡(luò)公司原創(chuàng)品牌,更為您提供葉集網(wǎng)站排名全網(wǎng)營銷落地服務(wù)。

AChartEngine簡介:

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

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

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

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

AChartEngine的運行機制:

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

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

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

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

效果圖:

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

具體步驟:

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

2、將下載的jar包引入到項目中(具體方法可參考我的另一篇博文:Android Studio 在項目中引用第三方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("圖文報表", 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、構(gòu)建渲染器(Renderer)

餅圖的渲染器:

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

 return renderer;
}

對應(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è)置左下角標注文字的大小
 renderer.setLabelsTextSize(25);//餅圖上標記文字的字體大小
 renderer.setLabelsColor(Color.BLACK);//餅圖上標記文字的顏色
 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ū)別在于:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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),主要使用于移動設(shè)備,如智能手機和平板電腦,由美國Google公司和開放手機聯(lián)盟領(lǐng)導(dǎo)及開發(fā)。

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

分享題目:怎么在AndroidStudio中使用AChartEngine制作餅圖-創(chuàng)新互聯(lián)
文章分享:http://www.rwnh.cn/article38/dsohpp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供手機網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計公司微信小程序、響應(yīng)式網(wǎng)站、品牌網(wǎng)站設(shè)計、搜索引擎優(yōu)化

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

營銷型網(wǎng)站建設(shè)
嘉禾县| 白银市| 哈巴河县| 龙海市| 淄博市| 陆川县| 湖北省| 高平市| 东乡| 泌阳县| 白朗县| 资阳市| 泽库县| 阜南县| 商城县| 洪泽县| 榆中县| 新民市| 铅山县| 时尚| 巴林左旗| 榆林市| 新宁县| 清丰县| 荣成市| 永定县| 通渭县| 织金县| 垫江县| 蚌埠市| 鹤山市| 卓资县| 和平区| 丰县| 龙川县| 遂溪县| 大理市| 同心县| 达日县| 河源市| 东光县|