我正在尝试使用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:当我按照屏幕宽度将视图添加到布局时,通过替换填充父属性来修复
答案 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和数据集相关的代码