我正在尝试将两个(或更多)图形添加到一个屏幕(其中包含按钮和其他元素)。
我一直尝试使用this回答相关主题作为指南,但我无法使用AChartEngine将这两个图表显示在一个屏幕上。
我知道我需要使用GrapihicalView来做这件事,但我还没能做到。
答案 0 :(得分:0)
我试试这个:
LayoutParams paramsLinear = new LinearLayout.LayoutParams(800, 800);
LinearLayout newLinear = new LinearLayout(getActivity());
newLinear.setOrientation(LinearLayout.HORIZONTAL);
newLinear.setLayoutParams(paramsLinear);
此LinearLayout是我的单个图表的容器。
答案 1 :(得分:0)
我已经弄清楚了这个:
protected void onResume()
{
super.onResume();
if (chart1 == null)
{
LinearLayout layout = (LinearLayout) findViewById(R.id.chart);
chart1 = ChartFactory.getTimeChartView(this, dataset1, multiRenderer1, "HH:mm");
multiRenderer1.setClickEnabled(true);
multiRenderer1.setSelectableBuffer(10);
/**ZOOM on the graph*/
chart1.setOnClickListener(new View.OnClickListener()
{
public void onClick(View v)
{
/**handle the click event on the chart*/
SeriesSelection seriesSelection = chart1.getCurrentSeriesAndPoint();
if (seriesSelection == null)
{
Toast.makeText(myActivity.this, "No chart element", Toast.LENGTH_SHORT).show();
}
else
{
/**display information of the clicked point*/
Toast.makeText(
myActivity.this,
"Closest point value X=" + convertLongToString((long)seriesSelection.getXValue(), "HH:mm") + ", Y=" + seriesSelection.getValue(), Toast.LENGTH_SHORT).show();
}
}
});
layout.addView(chart1, new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT));
boolean enabled = dataset1.getSeriesCount() > 0;
}
else
{
chart1.repaint();
}
if (chart2 == null)
{
LinearLayout layout2 = (LinearLayout) findViewById(R.id.chart2);
chart2 = ChartFactory.getTimeChartView(getBaseContext(), dataset2, multiRenderer2, "HH:mm");
multiRenderer2.setClickEnabled(true);
multiRenderer2.setSelectableBuffer(10);
/**ZOOM on the graph*/
chart2.setOnClickListener(new View.OnClickListener()
{
public void onClick(View v)
{
/**handle the click event on the chart*/
SeriesSelection seriesSelection = chart2.getCurrentSeriesAndPoint();
if (seriesSelection == null)
{
Toast.makeText(myActivity.this, "No chart element", Toast.LENGTH_SHORT).show();
}
else
{
/**display information of the clicked point*/
Toast.makeText(
myActivity.this,
"Closest point value X=" + convertLongToString((long)seriesSelection.getXValue(), "HH:mm") + ", Y=" + seriesSelection.getValue(), Toast.LENGTH_SHORT).show();
}
}
});
layout2.addView(chart2, new LayoutParams(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT));
boolean enabled = dataset2.getSeriesCount() > 0;
}
else
{
chart2.repaint();
}
}