2012-01-05 19 views
7

Estoy usando achartengine para mostrar el gráfico de líneas en mi aplicación. Necesito agregar la imagen bg para el gráfico, pero cuando configuro la imagen bg en xml, no funciona. ¿Alguien ha intentado esto? Gracias por adelantado.¿Cómo establecer la imagen de fondo para el gráfico de líneas de achartengine en Android?

+0

¿qué has intentado? publicar algún código fuente ayudará. –

+0

AFAIK no es compatible con la Imagen de fondo pero puede establecer Color [like This] (http://stackoverflow.com/questions/7711586/android-how-to-change-the-background-color-of-the-graph -using-achartengine) – MKJParekh

Respuesta

3

¿Ha configurado su margincolor? ¿Te gusta?

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

Esto le dará una visión general de sus antecedentes gráfica para el rojo

+0

¡Esa es la entrada! Gracias :) setMarginsColor() se perdió eso mientras lo buscaba. – jasonflaherty

1
mRenderer.setBackgroundColor(Color.Transparent); 

Y el fondo de diseño donde mostrar el gráfico establece la imagen de fondo. Hecho.

3

Esto puede ser posible para establecer el fondo del gráfico de líneas. fue un truco que me funciona.

// 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

En primer lugar, es necesario agregar gráfico en su actividad, y el conjunto de imágenes preferido como fondo en el diseño de la actividad. (Echa un vistazo a XYChartBuilder en AChartEngineneDemo para ver cómo hacerlo)

En segundo lugar, poner el fondo transparente para la tabla y el gráfico del margen:

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

Por último, crear su propio fondo transparente ya que el doesn Color.TRANSPARENT 't trabajo para el margen gráfico:

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

Espero que esto ayude :)

+2

muchas gracias amigo ... u el jefe .. – Mahesh

+0

¿y si quiero agregar una imagen como fondo, no color? –

+0

configura la imagen de fondo en el diseño de su actividad y establece el color transparente para su gráfico. Solo sigue mis instrucciones. – thanhbinh84

1

para retirar:

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

Y se eliminará el margen :) su simple

Para el ajuste de los colores:

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

Usted acaba de cambiar el código de la línea con éste:

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

No entiendo por qué el Color.TRANSPARENT más agradable no funciona para setMarginsColor, pero esto lo hizo ... gracias. – hotzen

1

Si desea establecer el color de fondo transparente , puede intentarlo:

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

¡Es trabajo para mí!

Cuestiones relacionadas