Android: Ich verwende AChartEngine Bibliothek für Grafiken, aber nicht in der Lage achartengine die graphische Darstellung mit Android xml zu integrieren?

StackOverflow https://stackoverflow.com/questions/4062161

  •  27-09-2019
  •  | 
  •  

Frage

Meine Anwendung erfordert Graph-Bibliothek, und ich bin mit achartengine Graph-Bibliothek. Meine app erfordert Graph nur 50% des Bildschirms zu sein und andererseits verwendet wird, einige andere Informationen angezeigt werden soll.

Ist es möglich, XML-Ressourcendatei für achartengine der Graph APIs hat und wie es zu tun?

Ich habe versucht, ein Beispiel zu finden, aber fand es nicht. Ist es unterstützt oder nicht?

War es hilfreich?

Lösung

Dies ist eine FAQ für AChartEngine. Die AChartEngine Demo-Anwendung zum Download zur Verfügung hier: AChartEngine Demo

In der Code Demo Quelle Ihnen ein Beispiel sehen, wie man ein Diagramm in eine bestehende Ansicht einzubetten.

Im Grunde genommen in der Tätigkeit Descriptor .xml-Datei, haben wir die folgende als Platzhalter für das Diagramm definiert. Natürlich gehen andere Komponenten der Benutzeroberfläche zusammen mit diesem Layout:

ChartDemo / layout / xy_chart.xml in der Nähe Linie 27

<LinearLayout
    android:id="@+id/chart"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_weight="1"
    android:orientation="horizontal" />

Wir definieren eine lokale Variable:

ChartDemo / src / org.achartengine.chartdemo.demo.chart / XYChartBuilder.java in der Nähe Linie 68

private GraphicalView mChartView;

Wir instanziiert es auf dem onResume () -Methode der Aktivität:

ChartDemo / src / org.achartengine.chartdemo.demo.chart / XYChartBuilder.java in der Nähe von Linie 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();
  }
}

Jedes Mal, wenn neue Daten hinzugefügt werden (wenn der Benutzer auf die Schaltfläche „Hinzufügen“ in unserem Fall ein neuer Punkt in der aktuellen Serie hinzugefügt und:

ChartDemo / src / org.achartengine.chartdemo.demo.chart / XYChartBuilder.java in der Nähe von Linie 147

if (mChartView != null) {
  mChartView.repaint();
}

Andere Tipps

Es gibt zwei Gruppen von APIs in ChartFactory. Für zB. getLineChartView() und getLineChartIntent(). So Ersteres wird verwendet, um eine grafische Darstellung zu erhalten, die zu angepassten Layout hinzugefügt werden kann und später verwendet wird, um die Absicht zu bekommen. Im obigen Beispiel hat Dan gebrauchte getLineChartView() API, die eine GraphicalView zurückgibt.

Sie können Ihre xml so schreiben ...

    

<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>

und die Java-Code-Snippet

   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();
      }
    }

So, hier ist eine autarke Ort alles über AChartEngine zu finden. Welcher Link zum Download enthält,

  
      
  1. achartengine-1.1.0-demo-source.zip The AChartEngine 1.1.0 Demo-Projekt Quellcode. 15. Mai 15. Mai 168 KB 8149
  2.   
  3. achartengine-1.1.0-javadocs.zip Die AChartEngine 1.1.0 javadoc Dokumentation. 15. Mai 15. Mai 374 KB 3610
  4.   
  5. achartengine-1.1.0.jar Die AChartEngine 1.1.0 binäre Build-Bibliothek. 15. Mai 15. Mai 117 KB 5264
  6.   

Welche neuesten jetzt sind (während diese Antwort veröffentlichen). Jetzt folgen Sie diese einfachen Schritte, um neue Grafik-Datei hinzuzufügen:

  • Download und Add achartengine-1.1.0.jar Ihres Projekts lib Abschnitt
  • Jetzt rechts auf Datei klicken, und fügen Sie Build-Pfad, wie in Bild

    hinzufügen jar zu einem Projekt

  • Nun, wie in früheren Antworten definieren, fügen Sie Ihre Klasse folgenden Code:

    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();
          }
        }
    
    • Um weitere Details an jede Klasse von AChartEngineAPI zu bekommen, download achartengine-1.1.0-javadocs.zip und öffnen Sie durch Anklicken in index.html

    • achartengine-1.1.0-demo-source.zip wird bei der weiteren Entwicklung deepar hilfreich sein, wo Sie Referenz für alle Diagramme nehmen

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top