如何使用achartEngine?

时间:2011-08-02 08:50:50

标签: android view charts achartengine

我正在尝试使用AchartEngine API在我的应用程序中制作一些图形,但它不起作用。

任何人都可以向我解释如何使用graphic代替Intent制作视图吗?

在演示代码中导致它仅由Intent而不是视图。

编辑: 我试图同时测试这两个选项: 我有一个带有按钮的linearLayout:

<LinearLayout android:id="@+id/list_infos_layout_stat" android:orientation="horizontal" android:layout_width="fill_parent" android:layout_height="wrap_content" android:layout_weight="1" >

<Button 
    android:id="@+id/list_infos_bouton_stats"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="statistiques"
/>

当我点击按钮时,ChartFactory.getLineChartIntent(..)方法会生成一项新活动,效果很好。

在同一个LinearLayout中,我放置了ChartFactory.getLineChartView方法返回的视图,没问题,我在按钮右边有图形。 但当我取下按钮时,我什么都没有......

View graphique = new ReponsesChart().getView(contexte);
        if (graphique !=null){
            LinearLayout layout = (LinearLayout)convertView.findViewById(R.id.list_infos_layout_stat);
            layout.addView(graphique, new LayoutParams(LayoutParams.FILL_PARENT,LayoutParams.FILL_PARENT));
        } else {
            Log.d("Infos", "GRAPHIQUE NULL");
        }

编辑2:当我按照屏幕宽度将视图添加到布局时,通过替换填充父属性来修复

2 个答案:

答案 0 :(得分:3)

在ChartFactory类中,您可以使用以下几种方法:

    GraphicalView gView=ChartFactory.getDoughnutChartView(context,data,renderer);

和类似的其他图表类型,如折线图和条形图。然后,您只需致电:

    setContentView(gView);

下载AChartEngine的文档,很容易找到它。

答案 1 :(得分:0)

写入位图的内容会有帮助吗?我在我的一些代码中使用了以下内容:

final XYMultipleSeriesRenderer multipleRenderer = new XYMultipleSeriesRenderer();
final XYSeriesRenderer renderer = new XYSeriesRenderer();
multipleRenderer.addSeriesRenderer(renderer);

final XYMultipleSeriesDataset dataset = final XYMultipleSeriesDataset dataset = ...

final Bitmap image1 = Bitmap.createBitmap(WIDTH, HEIGHT, Bitmap.Config.ARGB_8888);    
final TimeChart tc = new TimeChart(dataset, multipleRenderer);

final Canvas canvas = new Canvas(image1);
tc.draw(canvas, 0, 0, WIDTH, HEIGHT, paint);
final Bitmap image = Bitmap.createBitmap(image1, 0, 0, WIDTH, HEIGHT);

请注意,我已经删除了很多与初始化multipleRender和数据集相关的代码