我的应用程序需要图库,我正在使用achartengine图库。我的应用程序要求图形仅占屏幕的50%,而其他部分则用于显示其他一些信息。
是否可以为achartengine的图形API提供xml资源文件以及如何操作?
我试图找到一个例子,但没有找到它。是否支持?
答案 0 :(得分:45)
这是AChartEngine的常见问题解答。 AChartEngine演示应用程序可在此处下载:AChartEngine demo
在演示源代码中,您可以看到有关如何将图表嵌入现有视图的示例。
基本上,在活动描述符.xml文件中,我们将以下内容定义为图表的占位符。当然,其他用户界面组件与此布局一起使用:
第27行附近的ChartDemo / layout / xy_chart.xml
<LinearLayout
android:id="@+id/chart"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_weight="1"
android:orientation="horizontal" />
我们定义一个局部变量:
第68行附近的ChartDemo / src / org.achartengine.chartdemo.demo.chart / XYChartBuilder.java
private GraphicalView mChartView;
我们在活动的onResume()方法上实例化它:
第163行附近的ChartDemo / src / org.achartengine.chartdemo.demo.chart / XYChartBuilder.java
protected void onResume() {
super.onResume();
if (mChartView == null) {
LinearLayout layout = (LinearLayout) findViewById(R.id.chart);
mChartView = ChartFactory.getLineChartView(this, mDataset,
mRenderer);
layout.addView(mChartView, new LayoutParams
(LayoutParams.FILL_PARENT, LayoutParams.FILL_PARENT));
...
} else {
mChartView.repaint();
}
}
每当添加新数据时(当用户按下“添加”按钮时),当前系列中会添加一个新点,并且:
第147行附近的ChartDemo / src / org.achartengine.chartdemo.demo.chart / XYChartBuilder.java
if (mChartView != null) {
mChartView.repaint();
}
答案 1 :(得分:15)
ChartFactory
中有两组API。例如。 getLineChartView()
和getLineChartIntent()
。因此,前者用于获取可以添加到自定义布局的图形视图,以后用于获取意图。在上面的示例中,Dan使用getLineChartView()
API返回GraphicalView
。
答案 2 :(得分:8)
你可以像这样写你的xml ......
<LinearLayout
android:layout_below="@+id/btn"
android:id="@+id/chart" android:orientation="horizontal"
android:layout_width="fill_parent" android:layout_height="wrap_content"
android:layout_weight="1">
</LinearLayout>
,java代码片段是
protected void onResume() {
super.onResume();
if (mChartView == null) {
LinearLayout layout = (LinearLayout) findViewById(R.id.chart);
mChartView = ChartFactory.getBarChartView(this,getBarDemoDataset(values),renderer,Type.DEFAULT);
layout.addView(mChartView);
} else {
mChartView.repaint();
}
}
答案 3 :(得分:2)
所以这是一个自给自足的地方,可以找到关于AChartEngine的所有内容。其中包括下载链接,
- achartengine-1.1.0-demo-source.zip AChartEngine 1.1.0演示项目源代码。 5月15日5月15日168 KB 8149
- achartengine-1.1.0-javadocs.zip AChartEngine 1.1.0 javadoc文档。 5月15日5月15日374 KB 3610
- achartengine-1.1.0.jar AChartEngine 1.1.0二进制构建库。 5月15日5月15日117 KB 5264
醇>
现在最新(发布此答案时)。现在,按照以下简单步骤添加新的图表文件:
现在右键单击文件并将其添加到构建路径,如图像
现在,按照之前的答案中的定义,将以下代码添加到您的班级:
private GraphicalView mChartView;
private XYMultipleSeriesDataset dataset;
private XYMultipleSeriesRenderer renderer;
private BarChart.Type type;
protected void onResume() {
super.onResume();
if (mChartView == null) {
LinearLayout layout = (LinearLayout) findViewById(R.id.chart);
/*getBarChartView(android.content.Context context, XYMultipleSeriesDataset dataset, XYMultipleSeriesRenderer renderer, BarChart.Type type)
Creates a bar chart view.*/
mChartView = ChartFactory.getBarChartView(this, dataset, renderer, type);//tView(this,getBarDemoDataset(values),renderer,Type.DEFAULT);
layout.addView(mChartView);
} else {
mChartView.repaint();
}
}
要详细了解任何AChartEngineAPI类,请下载 achartengine-1.1.0-javadocs.zip ,然后点击 index.html打开
achartengine-1.1.0-demo-source.zip 会在进一步深入开发过程中提供帮助,您可以参考所有图表