Is it possible? have anyone been doing this before? I don\'t know where to start.
I mostly need the menu, not the context menu.
My \"BudgetPieChart\" class
To get a menu you need only 1 thing. You have to use GraphicalView on your own activity. In order to do that you'll need:
Former BudgetPieChart class
public class ExpByCatPieChartHelper extends AbstractChart{
private DataToArray dta;
@Override
public String getName() {
return MyApplication.getContext().getString(R.string.ExpensesByCategoriesPieChartName);
}
@Override
public String getDesc() {
return "The budget per project for this year (pie chart)";
}
public GraphicalView createView(Context context) {
dta = new DataToArray();
String[] categories = dta.expenseByCategoriesToArray();
double[] values = dta.expensesValuesByCategoriesToArray();
int[] colors = dta.getColorsArray(categories.length);
DefaultRenderer renderer = buildCategoryRenderer(colors);
renderer.setZoomButtonsVisible(true);
renderer.setZoomEnabled(true);
renderer.setChartTitleTextSize(20);
return ChartFactory.getPieChartView(context, buildCategoryDataset("Wydatki kategoriami", categories, values), renderer);
}
@Override
public Intent execute(Context context) {
return null;
}
}
Additional class with activity of your own:
public class ExpByCatPieChart extends Activity{
private IACharts pieChart = new ExpByCatPieChartHelper();
@Override
protected void onCreate(Bundle savedInstanceState) {
GraphicalView mGraphicalView = new ExpByCatPieChartHelper().createView(this);
setContentView(mGraphicalView);
super.onCreate(savedInstanceState);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.chart_settings_menu, menu);
return true;
}
@Override
public boolean onMenuItemSelected(int featureId, MenuItem item) {
switch(item.getItemId()) {
case R.id.chart_settings:
Intent i = new Intent(this, PieChartSettings.class);
startActivityForResult(i, 0);
return true;
case R.id.home:
finish();
return true;
}
return super.onMenuItemSelected(featureId, item);
}
}
And this is pretty much everything. You get a default achart view and seit it as a content of a new activity. Viola :)