7

我正在使用 achartengine 在我的应用程序中显示折线图。我需要为图表添加 bg 图像,但是当我在 xml 中设置 bg 图像时,它不起作用。有没有人试过这个?提前致谢。

4

7 回答 7

14

首先,您需要将图表添加到您的活动中,并在活动布局中将首选图像设置为背景。(看看 AChartEngineneDemo 中的 XYChartBuilder 看看如何做到这一点)

其次,为图表和图表边距设置透明背景:

mRenderer.setApplyBackgroundColor(true);
mRenderer.setBackgroundColor(Color.TRANSPARENT);
mRenderer.setMarginsColor(getResources().getColor(R.color.transparent_background));

最后,创建您自己的透明背景,因为 Color.TRANSPARENT 不适用于图表边距:

<color name="transparent_background">#00FF0000</color>

希望这可以帮助 :)

于 2012-04-06T03:56:54.550 回答
7

您只需用以下代码替换该行代码:

mRenderer.setMarginsColor(Color.argb(0x00, 0x01, 0x01, 0x01));
于 2012-10-31T15:32:03.020 回答
4

这可以设置折线图的背景。这是一个对我有用的技巧。

// RelativeLayout layout_ChartView = (RelativeLayout) findViewById(R.id.chart_View);  
private GraphicalView mChartView;  
if(mChartView==null){
mChartView.setBackgroundDrawable(getResources().getDrawable(R.drawable.bg));
layout_ChartView.addView(mChartView, new LayoutParams(LayoutParams.FILL_PARENT,300));  
mChartView = ChartFactory.getCubeLineChartView(this,mDataset,mRenderer, 0.2f);  
}
else{    
  mChartView.repaint();
}
于 2012-03-22T12:34:06.817 回答
3

你设置了margincolor吗?像这样?

mRenderer.setApplyBackgroundColor(true);
mRenderer.setBackgroundColor(Color.RED);
mRenderer.setMarginsColor(Color.RED);

这将使您的图形背景的整个视图变为红色

于 2012-01-05T07:15:48.730 回答
1

如果要设置透明背景色,可以尝试:

renderer.setMarginsColor(Color.argb(0x00, 0xff, 0x00, 0x00));

它只是为我工作!

于 2013-10-30T15:51:52.490 回答
1
mRenderer.setBackgroundColor(Color.Transparent);

显示图表的布局背景设置您的背景图像。完毕。

于 2012-02-14T16:18:55.443 回答
1

对于删除:

mRenderer.setMargins(new int[]{0,0,0,0});

它会删除边距:)它很简单

用于设置颜色:

mRenderer.setApplyBackgroundColor(true);
mRenderer.setBackgroundColor(Color.TRANSPARENT);
于 2012-10-16T09:12:32.960 回答