android中条形码的代码

时间:2011-06-27 10:50:41

标签: android graph

有人可以帮我编写android中的条形码吗?

我尝试运行http://code.google.com/p/achartengine/

的示例代码

但该样本太大,无法从中检索条形码示例。 任何人都可以建议我任何好的网站或文档,其中包含在android中编码图形的详细信息吗?我需要在频繁的间隔后显示图表中的变化。

以前有人帮我试过这个吗?

5 个答案:

答案 0 :(得分:1)

在SO上有很多图形库线程,你应该看看它们并尝试不同的。

我在此列出了一些内容:https://stackoverflow.com/questions/5156740/im-looking-for-fancy-charts-library-for-android/5157576#5157576

就我个人而言,我建议使用Steemas库 - 他们有很多创建图形库的经验,这些库肯定会在API中显示出来。评估版可以在这里找到:

http://www.steema.com/download/mobile

如果你想用Steemas库创建一个条形图,这是一个非常简单的例子:

import android.app.Activity;
import android.os.Bundle;

import com.steema.teechart.TChart;
import com.steema.teechart.styles.Bar;

public class ExampleActivity extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);

        TChart chart = new TChart(this);
        Bar exampleBar = new Bar();

        double[] exampleValues = {1,5,8,2.5,-3.3,10.75};

        exampleBar.add(exampleValues);

        chart.addSeries(exampleBar);

        setContentView(chart);
    }
}

我使用该库得到的一些观察结果:

TeeChart info:
    Disable 3D:         chart.getAspect().setView3D(false);
    Disable Legend:     chart.getLegend().setVisible(false);
    Disable footer:     chart.getFooter().setVisible(false);
    Disable header:     chart.getHeader().setVisible(false);

How to set marks to data value instead of cylinder number?
    For a Bar data-set: bar.getMarks().setStyle(MarksStyle.VALUE);

How to move the marks closer to the chart rectangle?
    bar.getMarks().setArrowLength(5); - or negative values to put them on top of the bar

Different styles:
    bar.setBarStyle(BarStyle.RECTANGLE);

How do I make the lines thicker in a graph?
    line.getLinePen().setWidth(5); works, but it will change the width of the Legend as well.

How do I change the color of labels on axes?
    chart.getAxes().getLeft().getLabels().getFont().setColor(Color.WHITE);
    chart.getAxes().getBottom().getLabels().getFont().setColor(Color.WHITE);


SOLVED WORKAROUND - How do I set the background color of the chart itself? Tried so far (the TChart methods that take a Color from the TChart Color class, not the View methods) - only managed to make the 'surrounding' area black.
        chart.setBackground(Color.BLACK);
        chart.getCanvas().setBackColor(Color.BLACK);
        chart.getGraphics3D().setBackColor(Color.BLACK);
            ---> WORKAROUND: Use the setBackground above, then use: chart.getWalls().getBack().setVisible(false); --- setColor() on walls is bugged?


How to choose the bounds of a chart manually?
    chart.getAxes().getLeft().setAutomatic(false);
    chart.getAxes().getLeft().setMinMax(-2, 2);

答案 1 :(得分:1)

here Source Code For any Chart in android
link 2

AChartEngine是Android应用程序的图表库。它目前支持以下图表类型:

  • 折线图
  • 区域图
  • 散点图
  • 时间表
  • 条形图
  • 饼图
  • 气泡图
  • 圆环图
  • 范围(高 - 低)条形图
  • 拨打图表/仪表

组合(线,立方线,散点图,条形图,范围条,气泡的任意组合)图表 立方线图

答案 2 :(得分:1)

浏览This Click Here并享受代码,希望它能为您提供帮助。

答案 3 :(得分:0)

对于简单条形图您可以使用此代码可能会解决您的问题

  1. 首先在lib文件夹中添加achartengine-1.1.0.jar

  2. 然后你在清单

    中声明
    <activity android:name="org.achartengine.GraphicalActivity"/>
    
  3. 创建课程:

        package com.example.barchartexample;    
        import java.net.Proxy.Type;
        import org.achartengine.ChartFactory;
        import org.achartengine.model.CategorySeries;
        import org.achartengine.model.XYMultipleSeriesDataset;
        import org.achartengine.renderer.XYMultipleSeriesRenderer;
        import org.achartengine.renderer.XYSeriesRenderer;
    
        import android.content.Context;
        import android.content.Intent;
        import android.graphics.Color;
    
        public class BarGraph {
            public Intent getIntent(Context context){
            int y[]={25,10,15,20};
            CategorySeries series= new CategorySeries("BAR 1");
            for (int i = 0; i < y.length; i++) {
                series.add("Bar"+(i+1),y[i]);
    
            }
            XYMultipleSeriesDataset dataset= new XYMultipleSeriesDataset();
            dataset.addSeries(series.toXYSeries());
            XYSeriesRenderer renderer = new XYSeriesRenderer();
            renderer.setColor(Color.RED);
            renderer.setDisplayChartValues(true);
            renderer.setChartValuesSpacing((float) 5.5d);
            renderer.setLineWidth((float) 10.5d);
    
    
            XYMultipleSeriesRenderer mRenderer= new XYMultipleSeriesRenderer();
            mRenderer.addSeriesRenderer(renderer);
            mRenderer.setChartTitle("Simple Chart");
            mRenderer.setYTitle("Rupee");
            mRenderer.setZoomButtonsVisible(true);
            mRenderer.setShowGrid(true);
            mRenderer.setBarSpacing(.5);
            mRenderer.setApplyBackgroundColor(true);
            mRenderer.setBackgroundColor(Color.BLACK);
            mRenderer.setXAxisMin(0);
            mRenderer.setXAxisMax(5);
            mRenderer.setYAxisMax(50);
            mRenderer.setXLabels(0);
            mRenderer.addXTextLabel(1,"Income");
            mRenderer.addXTextLabel(2,"Saving");
            mRenderer.addXTextLabel(3,"Expenditure");
            mRenderer.addXTextLabel(4,"NetIncome");
            mRenderer.setPanEnabled(true,true);
            Intent intent = ChartFactory.getBarChartIntent(context, dataset, mRenderer,org.achartengine.chart.BarChart.Type.DEFAULT);
    
            return intent;
    
           }    
        }
    
    
        package com.example.barchartexample;
    
        import android.app.Activity;
        import android.content.Intent;
        import android.os.Bundle;
        import android.view.Menu;
        import android.view.View;
        import android.view.View.OnClickListener;
        import android.widget.Button;
    
        public class MainActivity extends Activity {
    
           Button but;
           @Override
           protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
    
            but=(Button)findViewById(R.id.BarGraph);
            but.setOnClickListener(new OnClickListener() {
    
                @Override
                public void onClick(View v) {
                    // TODO Auto-generated method stub
                    BarGraph bar = new BarGraph();
                    Intent barIntent= bar.getIntent(MainActivity.this);
                    startActivity(barIntent);
    
                }
            });
        }
    
        @Override
        public boolean onCreateOptionsMenu(Menu menu) {
    
            // Inflate the menu; this adds items to the action bar if it is present.
            getMenuInflater().inflate(R.menu.main, menu);
            return true;
        }
    }
    

答案 4 :(得分:0)

如果你想要一个最小的图表库我建议这个(这个版本是Daniel Nadeau的图书馆的一个分支):https://github.com/Androguide/HoloGraphLibrary。它使用起来非常简单。

这里是原始库:https://bitbucket.org/danielnadeau/holographlibrary