小弟最近在VC++写了一个程序,里面用到了VC++中的MSChart这个控件。最近需要将这个软件写到android平台上去,所以急需android中类似MSChart的控件,求高手指点一二。

解决方案 »

  1.   

    木有,自己画。
    这个是主要JAVA代码,其他的没写package com.example.android.home;
    import android.app.Activity;
    import android.content.Context;
    import android.graphics.Canvas;
    import android.graphics.Color;
    import android.graphics.Paint;
    import android.os.Bundle;
    import android.view.View;public class Figure extends Activity{
    @Override
    public void onCreate (Bundle savedInstanceState){
       super.onCreate(savedInstanceState);
       MyView myView=new MyView(this);
       setContentView(myView);
      
    }
    public class MyView extends View{
       public MyView(Context context)
       {
        super(context);
       }
       @Override
       protected void onDraw(Canvas canvas){
        super.onDraw(canvas);//重写onDraw方法
       
        int data[]={265481,335842,125466,256856,352151,254611,356584};
       
        int data1[]={324225,144578,352415,458125,268451,351545,252145};    canvas.drawColor(Color.WHITE);//设置背景颜色
        Paint paint= new Paint();
        paint.setStyle(Paint.Style.STROKE);
        paint.setAntiAlias(true);//去锯齿
        paint.setColor(Color.BLUE);//颜色
       
        Paint paint1=new Paint();
        paint1.setStyle(Paint.Style.STROKE);
        paint1.setAntiAlias(true);//去锯齿
        paint1.setColor(Color.DKGRAY);
      
           //数据 线
         int n=1,m=0,x=0;
         int nn=1,mm=0,xx=0;
         int[] y=new int[100];
         y[0]=120;
        
         for(int x1=0;x1<data.length;x1++)
         {
          y[n]=120-data[m]*20/100000;
          x=x+30;
          int x2=x+30;
                canvas.drawLine(x, y[x1], x2, y[n], paint);
                canvas.drawCircle(x2, y[n], 2, paint);
                n=n+1;
                m=m+1;
               
               
         }
        
         for(int x1=0;x1<data1.length;x1++)
         {
          y[nn]=120-data1[mm]*20/100000;
          xx=xx+30;
          int x2=xx+30;
                canvas.drawLine(xx, y[x1], x2, y[nn], paint1);
                canvas.drawCircle(x2, y[nn], 2, paint1);
                nn=nn+1;
                mm=mm+1;
         }
        
        //设置Y轴
        canvas.drawLine(30, 10, 30, 120, paint);
        canvas.drawLine(30, 20, 35, 20, paint);
        canvas.drawLine(30, 40, 35, 40, paint);
        canvas.drawLine(30, 60, 35, 60, paint);
        canvas.drawLine(30, 80, 35, 80, paint);
        canvas.drawLine(30, 100, 35, 100, paint);    //设置X轴
        canvas.drawLine(30,120,300,120,paint);
        canvas.drawLine(60, 120, 60, 115, paint);
        canvas.drawLine(90, 120, 90, 115, paint);
        canvas.drawLine(120, 120, 120, 115, paint);
        canvas.drawLine(150, 120, 150, 115, paint);
        canvas.drawLine(180, 120, 180, 115, paint);
        canvas.drawLine(210, 120, 210, 115, paint);
        canvas.drawLine(240, 120, 240, 115, paint);
        canvas.drawLine(270, 120, 270, 115, paint);
        //设置Y轴文字
        paint.setTextSize(7);
        canvas.drawText(getResources().getString(R.string.str_text1), 5, 100, paint);
        canvas.drawText(getResources().getString(R.string.str_text2), 5, 80, paint);
        canvas.drawText(getResources().getString(R.string.str_text3), 5, 60, paint);
        canvas.drawText(getResources().getString(R.string.str_text4), 5, 40, paint);
        canvas.drawText(getResources().getString(R.string.str_text5), 5, 20, paint);
        canvas.drawText(getResources().getString(R.string.str_text6), 5, 0, paint);
       
       
        //设置X轴文字
        canvas.drawText(getResources().getString(R.string.str_text01), 50, 130, paint);
        canvas.drawText(getResources().getString(R.string.str_text02), 80, 130, paint);
        canvas.drawText(getResources().getString(R.string.str_text03), 120, 130, paint);
        canvas.drawText(getResources().getString(R.string.str_text04), 150, 130, paint);
        canvas.drawText(getResources().getString(R.string.str_text05), 180, 130, paint);
        canvas.drawText(getResources().getString(R.string.str_text06), 210, 130, paint);
        canvas.drawText(getResources().getString(R.string.str_text07), 240, 130, paint);
        canvas.drawText(getResources().getString(R.string.str_text08), 270, 130, paint);   }
    }
    }