我正在尝试使用afreechart在我的活动中显示一个图表,我已经检查了许多抛出internet的文档,但是我没有找到任何完整的示例,我的意思是如何构建一个图表并在布局后显示它,我需要用一个gui来显示它(就像在我的gui中的图像一样),我使用eclipse(android 4.2)来显示它。
有人知道如何在android中使用afreechart吗?谢谢

最佳答案

好吧,因为这是一篇老文章,我不确定你是否能找到这个问题的答案。这是在您的活动中显示afree图表所需要做的。
创建一个扩展imageview的自定义视图,比如blelow

public class ChartView extends ImageView
{
    private Bitmap              bitmap;
    private RectShape           rectArea;
    private Canvas              canvas;
    private AFreeChart          chart;

    public ChartView( Context context, AttributeSet attributeSet )
    {
        super(context, attributeSet);
    }

    public ChartView( Context context )
    {
        super(context);
        intChart();
    }

    private void intChart()
    {
        //Setting different width and height based on the orientation.
        if (getResources().getConfiguration().orientation == Configuration.ORIENTATION_LANDSCAPE)
        {
            bitmap = Bitmap.createBitmap(400, 200, Bitmap.Config.ARGB_8888);
            rectArea = new RectShape(0.0, 0.0, 400, 200);
        }
        else
        {
            bitmap = Bitmap.createBitmap(200, 200, Bitmap.Config.ARGB_8888);
            rectArea = new RectShape(0.0, 0.0, 200, 200);
        }
    }

    public void drawChart( AFreeChart chart )
    {
        canvas = new Canvas(bitmap);
        this.chart = chart;
        this.chart.draw(canvas, rectArea);
        setImageBitmap(bitmap);
    }

    @Override
    protected void onDraw( Canvas canvas )
    {
        super.onDraw(canvas);
    }
}

创建一个活动,如下所示,您就可以开始了。我假设您已经创建了要传递给视图的afreechart对象。
    public class ChartActivity extends Activity
    {
        @Override
        protected void onCreate( Bundle savedInstanceState )
        {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.chart);

            ViewGroup viewGroup = (ViewGroup)getWindow().getDecorView().findViewById(android.R.id.content);

            ChartView chartView = new ChartView(this);

            chartView.drawChart(ChartFactory.createChart()/*Returns AFreechart object*/);

            viewGroup.addView(chartView);

        }
    }

图表.xml
        <?xml version="1.0" encoding="utf-8"?>
        <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:orientation="vertical" >

        </LinearLayout>

希望这有帮助

10-08 18:19