Android 饼图

来源:互联网 发布:centos 360wifi 编辑:程序博客网 时间:2024/04/30 23:55

AndroidManifest.xml

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.test"
    android:versionCode="1"
    android:versionName="1.0" >

    <uses-sdk android:minSdkVersion="15" />

    <application
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name" >
        <activity
            android:name=".MyChart"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <activity android:name="org.achartengine.GraphicalActivity" />
    </application>
</manifest>

Activity

 

package com.test;

import org.achartengine.ChartFactory;
import org.achartengine.chart.BarChart.Type;
import org.achartengine.model.CategorySeries;
import org.achartengine.renderer.DefaultRenderer;
import org.achartengine.renderer.SimpleSeriesRenderer;

import android.app.Activity;
import android.content.Intent;
import android.graphics.Color;
import android.os.Bundle;

public class MyChart extends Activity {
 /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
  String[] titles={"裤子","裙子","T恤","内衣","鞋子"};
   double[] values = new double[] { 50, 100, 200, 400, 300 };
      int[] colors = new int[] { Color.BLUE, Color.GREEN, Color.MAGENTA, Color.YELLOW, Color.CYAN };
      DefaultRenderer renderer = buildCategoryRenderer(colors);
      renderer.setZoomButtonsVisible(true);
      renderer.setZoomEnabled(true);
      renderer.setChartTitleTextSize(20);
      Intent intent = ChartFactory.getPieChartIntent(this, buildCategoryDataset(titles, values),
           renderer, "DemoTest");

         startActivity(intent);
     }
    protected DefaultRenderer buildCategoryRenderer(int[] colors) {
        DefaultRenderer renderer = new DefaultRenderer();
        renderer.setLabelsTextSize(15);
        renderer.setLegendTextSize(15);
        renderer.setMargins(new int[] { 20, 30, 15, 0 });
        for (int color : colors) {
          SimpleSeriesRenderer r = new SimpleSeriesRenderer();
          r.setColor(color);
          renderer.addSeriesRenderer(r);
        }
        return renderer;
      }
    protected CategorySeries buildCategoryDataset(String[] titles, double[] values) {
     CategorySeries series = new CategorySeries("test");
       int k = -1;
       for (double value : values) {
         series.add(titles[++k], value);
       }

       return series;
     }
}

效果图