日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

android 中空饼图控件,android饼状图内是空心的怎么做

發布時間:2023/12/19 编程问答 23 豆豆
生活随笔 收集整理的這篇文章主要介紹了 android 中空饼图控件,android饼状图内是空心的怎么做 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

滿意答案

先定義一個GraphicalView

GraphicalView graphicalView;

然后,從chartfactory獲取

graphicalView=ChartFactory.getBarChartView(getBaseContext(), dataset, renderer, type);//柱狀圖

graphicalView=ChartFactory.getPieChartView(getBaseContext(), dataset, renderer);//餅狀圖

其中的dataset表示數據源,renderer表示渲染參數,type表示類型

設置dataset的方法--餅圖

double[] values={412.0,542.0,486.0,900.1};

CategorySeries dataset=buildCategoryDataset("測試餅圖", values);

1 protected CategorySeries buildCategoryDataset(String title, double[] values) {

2 CategorySeries series = new CategorySeries(title);

3 series.add("差", values[0]);

4 series.add("不達標", values[1]);

5 series.add("達標", values[2]);

6 series.add("優秀",values[3]);

7 return series;

8 }

設置dataset的方法--柱狀圖----柱狀圖可以有多組數據

1 String[] titles={"test"};

2 List values=new ArrayList();

3 values.add(new double[]{5120.0,21251.0,25610.0});

4 XYMultipleSeriesDataset dataset=buildBarDataset(titles, values);

1 protected XYMultipleSeriesDataset buildBarDataset(String[] titles, List values) {

2 XYMultipleSeriesDataset dataset = new XYMultipleSeriesDataset();

3 int length = titles.length;

4 for (int i = 0; i < length; i++) {

5 CategorySeries series = new CategorySeries(titles[i]);

6 double[] v = values.get(i);

7 int seriesLength = v.length;

8 for (int k = 0; k < seriesLength; k++) {

9 series.add(v[k]);

10 }

11 dataset.addSeries(series.toXYSeries());

12 }

13 return dataset;

14 }

設置renderer的方法--餅圖

1 int[] colors={Color.BLUE,Color.GREEN,Color.MAGENTA,Color.RED};

2 DefaultRenderer renderer=buildCategoryRenderer(colors);

1 protected DefaultRenderer buildCategoryRenderer(int[] colors) {

2 DefaultRenderer renderer = new DefaultRenderer();

3

4 renderer.setLegendTextSize(20);//設置左下角表注的文字大小

5 //renderer.setZoomButtonsVisible(true);//設置顯示放大縮小按鈕

6 renderer.setZoomEnabled(false);//設置不允許放大縮小.

7 renderer.setChartTitleTextSize(30);//設置圖表標題的文字大小

8 renderer.setChartTitle("統計結果");//設置圖表的標題 默認是居中頂部顯示

9 renderer.setLabelsTextSize(20);//餅圖上標記文字的字體大小

10 //renderer.setLabelsColor(Color.WHITE);//餅圖上標記文字的顏色

11 renderer.setPanEnabled(false);//設置是否可以平移

12 //renderer.setDisplayValues(true);//是否顯示值

13 renderer.setClickEnabled(true);//設置是否可以被點擊

14 renderer.setMargins(new int[] { 20, 30, 15,0 });

15 //margins - an array containing the margin size values, in this order: top, left, bottom, right

16 for (int color : colors) {

17 SimpleSeriesRenderer r = new SimpleSeriesRenderer();

18 r.setColor(color);

19 renderer.addSeriesRenderer(r);

20 }

21 return renderer;

22 }

設置renderer的方法----柱狀圖

1 int[] colors={Color.BLUE};

2 XYMultipleSeriesRenderer renderer=buildBarRenderer(colors);

3 Type type=Type.DEFAULT;

4

5 //renderer.setZoomEnabled(false);//怎么失效了----使用下面的方式

6 renderer.setZoomEnabled(false, false);//http://www.tiecou.com

7 setChartSettings(renderer, "我是柱狀圖的標題", "", "統計結果", 0, 6, 0, 30000, Color.GRAY, Color.LTGRAY);

8 renderer.getSeriesRendererAt(0).setDisplayChartValues(true);

9 //renderer.getSeriesRendererAt(1).setDisplayChartValues(true);

10 renderer.setXLabels(0);//設置x軸上的下標數量

11 renderer.setYLabels(10); //設置y軸上的下標數量

12 renderer.setXLabelsAlign(Align.RIGHT);

13 renderer.setYLabelsAlign(Align.LEFT);//y軸 數字表示在坐標還是右邊

14 renderer.setPanEnabled(false, false);//設置是否允許平移

15 renderer.addXTextLabel(2.0, "220kv電力線");//在指定坐標處顯示文字

16 // renderer.clearXTextLabels();//清除 labels

17 //renderer.setZoomRate(1.1f);//設置放縮比

18 renderer.setBarSpacing(1f);// 設置柱狀的間距

19 //renderer.setLabelsTextSize(30);//設置坐標軸上數字的大小

20 renderer.setXLabelsAngle(300.0f);//設置文字旋轉角度 對文字順時針旋轉

21 renderer.setXLabelsPadding(10);//設置文字和軸的距離

22 renderer.setFitLegend(true);// 調整合適的位置

復制代碼

復制代碼

1 protected XYMultipleSeriesRenderer buildBarRenderer(int[] colors) {

2 XYMultipleSeriesRenderer renderer = new XYMultipleSeriesRenderer();

3 renderer.setAxisTitleTextSize(16);

4 renderer.setChartTitleTextSize(20);

5 renderer.setLabelsTextSize(15);

6 renderer.setLegendTextSize(15);

7 int length = colors.length;

8 for (int i = 0; i < length; i++) {

9 SimpleSeriesRenderer r = new SimpleSeriesRenderer();

10 r.setColor(colors[i]);

11 renderer.addSeriesRenderer(r);

12 }

13 return renderer;

14 }

最后將graphicalView放入指定的layout里

1 layout=(LinearLayout)findViewById(R.id.linearlayout);

2 layout.removeAllViews();

3 layout.setBackgroundColor(Color.BLACK);

4 layout.addView(graphicalView, new LayoutParams(LayoutParams.FILL_PARENT,LayoutParams.FILL_PARENT));

00分享舉報

創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

總結

以上是生活随笔為你收集整理的android 中空饼图控件,android饼状图内是空心的怎么做的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。