应该是没问题的,但运行的时候提示出错了……源码:
package sv.t;import java.util.Timer;
import java.util.TimerTask;import android.app.Activity;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.graphics.Rect;
import android.os.Bundle;
import android.view.SurfaceHolder;
import android.view.SurfaceView;public class SurfaceViewTestActivity extends Activity {
    /** Called when the activity is first created. */
   
SurfaceView sfv;
SurfaceHolder sth;
private Timer mTimer;
private MyTimerTask mTimerTask;

int Y_axis[],centerY,beforeX,beforeY,currentX;

@Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.main);
        sfv=(SurfaceView)this.findViewById(R.id.SurfaceView01);
        sth=sfv.getHolder();
        
        mTimer = new Timer();
        mTimerTask = new MyTimerTask();
        centerY = (getWindowManager().getDefaultDisplay().getHeight()-sfv.getHeight())/2;
        Y_axis = new int[getWindowManager().getDefaultDisplay().getWidth()];
        for (int i = 1; i < Y_axis.length; i++) {
            Y_axis[i - 1] = centerY
             - (int) (100 * Math.sin(i * 2 * Math.PI / 180));
        }
        beforeY = centerY;
        mTimer.schedule(mTimerTask, 0, 5);
    }

 class MyTimerTask extends TimerTask {
          public void run() {
           SimpleDraw(currentX);
           currentX++;
           if (currentX == Y_axis.length - 1)
           ClearDraw();
           currentX = 0;
           beforeY = centerY;
            }
 }
 
    void SimpleDraw(int length) {
        if (length == 0)
            beforeX = 0;
        Canvas canvas = sth.lockCanvas(new Rect(beforeX, 0, beforeX + length,
                getWindowManager().getDefaultDisplay().getHeight()));  
        Paint mPaint = new Paint();
        mPaint.setColor(Color.GREEN);
        mPaint.setStrokeWidth(2);
 
        int y;
        for (int i = beforeX + 1; i < length; i++) {
            y = Y_axis[i - 1];
            canvas.drawLine(beforeX, beforeY, i, y, mPaint);
            beforeX = i;
            beforeY = y;
        }
        sth.unlockCanvasAndPost(canvas);
    }
    
    void ClearDraw() {
        Canvas canvas = sth.lockCanvas(null);
        canvas.drawColor(Color.BLACK);
        sth.unlockCanvasAndPost(canvas);  
    }
}