私のアプリケーションにはグラフ ライブラリが必要で、achartengine グラフ ライブラリを使用しています。私のアプリでは、グラフが画面の 50% のみである必要があり、他の部分は他の情報を表示するために使用されます。
achartengine のグラフ API の xml リソース ファイルとその方法を教えてください。
例を見つけようとしましたが、見つかりませんでした。サポートされていますか?
私のアプリケーションにはグラフ ライブラリが必要で、achartengine グラフ ライブラリを使用しています。私のアプリでは、グラフが画面の 50% のみである必要があり、他の部分は他の情報を表示するために使用されます。
achartengine のグラフ API の xml リソース ファイルとその方法を教えてください。
例を見つけようとしましたが、見つかりませんでした。サポートされていますか?
これは AChartEngine の FAQ です。AChartEngine デモ アプリケーションは、ここからダウンロードできます: AChartEngine デモ
デモ ソース コードでは、チャートを既存のビューに埋め込む方法の例を確認できます。
基本的に、アクティビティ記述子 .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" />
ローカル変数を定義します。
ChartDemo/src/org.achartengine.chartdemo.demo.chart/XYChartBuilder.java 行 68 付近
private GraphicalView mChartView;
アクティビティの onResume() メソッドでインスタンス化します。
ChartDemo/src/org.achartengine.chartdemo.demo.chart/XYChartBuilder.java 行 163 付近
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();
}
}
新しいデータが追加されるたびに (この場合、ユーザーが「追加」ボタンを押すと、現在のシリーズに新しいポイントが追加され、次のようになります。
ChartDemo/src/org.achartengine.chartdemo.demo.chart/XYChartBuilder.java 行 147 付近
if (mChartView != null) {
mChartView.repaint();
}
には 2 つの API セットがありますChartFactory
。たとえば。getLineChartView()
とgetLineChartIntent()
。したがって、前者はカスタマイズされたレイアウトに追加できるグラフィカル ビューを取得するために使用され、後でインテントを取得するために使用されます。上記の例で、Dan はgetLineChartView()
を返す API を使用しましたGraphicalView
。
このように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();
}
}