2012-01-05 130 views
7

我使用achartengine來顯示我的應用程序中的折線圖。我需要爲圖表添加bg圖像,但是當我將bg圖像設置爲xml時,它不起作用。有沒有人試過這個?提前致謝。如何在android中爲achartengine折線圖設置背景圖片?

+0

你試過了什麼?張貼一些源代碼將有所幫助。 – 2012-01-05 06:57:38

+0

AFAIK它不支持背景圖像,但你可以設置顏色[像這樣](http://stackoverflow.com/questions/7711586/android-how-to-change-the-background-color-of-the-graph -using-achartengine) – MKJParekh 2012-01-05 07:11:02

回答

3

您是否設置了margincolor? 是否這樣?

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

這會給你的圖形背景的整體視圖,以紅色

+0

這是票!謝謝:) setMarginsColor()錯過了,而尋找它。 – jasonflaherty 2013-11-15 05:03:48

1
mRenderer.setBackgroundColor(Color.Transparent); 

且佈局背景,其中顯示在圖表上設置背景圖片。 完成。

3

這可以設置折線圖的背景。這對我而言是一個竅門。

// 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(); 
} 
14

首先,您需要將圖表添加到您的活動中,並將首選圖像設置爲活動佈局中的背景。 (看看XYChartBuilder在AChartEngineneDemo來看看如何做到這一點)

其次,圖表及圖表邊距設置透明背景:

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

最後,創建自己的透明背景,因爲沒有按Color.TRANSPARENT對於圖表保證金「T工作:

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

希望這有助於:)

+2

非常感謝好友...你是老闆.. – Mahesh 2013-06-05 14:50:00

+0

如果我想添加圖像作爲背景,而不是顏色? – 2015-10-19 06:53:15

+0

您在活動佈局中設置了背景圖片,併爲圖表設置了透明顏色。只要按照我的指示。 – thanhbinh84 2015-10-22 04:10:52

1

,拆卸:

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

而且它會刪除保證金:)其簡單

爲背景色:

mRenderer.setApplyBackgroundColor(true); 
mRenderer.setBackgroundColor(Color.TRANSPARENT); 
7

您只需更換行的代碼與此一:

mRenderer.setMarginsColor(Color.argb(0x00, 0x01, 0x01, 0x01)); 
+0

不明白爲什麼更好的Color.TRANSPARENT不適用於setMarginsColor,但是這樣做......謝謝。 – hotzen 2014-09-21 21:27:29

1

如果你想設置透明背景顏色,你可以嘗試:

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

它只是爲我工作!