Как установить фоновое изображение для линейного графика achartengine в Android? - PullRequest
7 голосов
/ 05 января 2012

Я использую achartengine для отображения линейной диаграммы в моем приложении. Мне нужно добавить изображение bg для диаграммы, но когда я устанавливаю изображение bg в xml, оно не работает. Кто-нибудь пробовал это? Заранее спасибо.

Ответы [ 7 ]

14 голосов
/ 06 апреля 2012

Во-первых, вам нужно добавить диаграмму в свою деятельность и установить предпочтительное изображение в качестве фона в макете деятельности. (Взгляните на XYChartBuilder в AChartEngineneDemo, чтобы узнать, как это сделать)

Во-вторых, установите прозрачный фон для графика и поля графика:

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

Наконец, создайте свой собственный прозрачный фон, так как Color.TRANSPARENT не работает для полей диаграммы:

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

Надеюсь, это поможет :)

7 голосов
/ 31 октября 2012

Вы просто заменяете этот код строки следующим:

mRenderer.setMarginsColor(Color.argb(0x00, 0x01, 0x01, 0x01));
4 голосов
/ 22 марта 2012

Это может быть возможно, чтобы установить фон графика.это был трюк, который работает для меня.

// 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();
}
3 голосов
/ 05 января 2012

Вы установили маргинальный цвет? Как это?

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

Это даст полный вид фона вашего графика в красный цвет

1 голос
/ 30 октября 2013

Если вы хотите установить прозрачный цвет фона, вы можете попробовать:

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

Это просто работа для меня!

1 голос
/ 16 октября 2012

Для удаления:

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

И это уберет поле :) Это просто

Для настройки цвета:

mRenderer.setApplyBackgroundColor(true);
mRenderer.setBackgroundColor(Color.TRANSPARENT);
1 голос
/ 14 февраля 2012
mRenderer.setBackgroundColor(Color.Transparent);

А фон макета, где показывают график, устанавливает фоновое изображение. Готово.

...