转载自http://blog.csdn.net/pku_android/article/details/7596930
如果侵权,请告知,会删除。
因原博主展示的是图片,个人觉得不好copy,so......
Activity:
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
MySurfaceView sv=new MySurfaceView(this);
setContentView(sv);
}
}
MySurfaceView:
import android.content.Context; import android.graphics.Bitmap; import android.graphics.BitmapFactory; import android.graphics.Canvas; import android.graphics.Color; import android.graphics.Paint; import android.view.SurfaceHolder; import android.view.SurfaceView; public class MySurfaceView extends SurfaceView implements SurfaceHolder.Callback { private static int GRIDW_SIZE=14; private static int GRIDH_SIZE=20; private static int startW=10,startH=10; private float titleW; private float titleH; private int screenW,screenH; private Canvas canvas; private SurfaceHolder sfh; private Bitmap bm; public MySurfaceView(Context context) { super(context); bm= BitmapFactory.decodeResource(getResources(),R.drawable.bg); sfh=this.getHolder(); sfh.addCallback(this); } @Override public void surfaceCreated(SurfaceHolder holder) { screenW=this.getWidth(); screenH=this.getHeight(); titleW=(screenW-2*startW)/GRIDW_SIZE; titleH=(screenH-2*startH)/GRIDH_SIZE; canvas=sfh.lockCanvas(); canvas.drawColor(Color.WHITE); Paint paint=new Paint(); canvas.drawBitmap(bm,0,0,paint); paint.setColor(Color.BLACK); paint.setStrokeWidth(1); paint.setStyle(Paint.Style.STROKE); float startX=0,startY=0; for (int i=0;i<=GRIDW_SIZE;i++){ startX=startW+i*titleW; startY=startH; canvas.drawLine(startX,startY,startX,screenH-startH,paint); } for (int j=0;j<=GRIDH_SIZE;j++){ startX=startW; startY=startH+j*titleH; canvas.drawLine(startX,startY,screenW-startW-5,startY,paint); } if (canvas!=null){ sfh.unlockCanvasAndPost(canvas); } } @Override public void surfaceDestroyed(SurfaceHolder holder) { } @Override public void surfaceChanged(SurfaceHolder holder, int format, int width, int height) { } }
R.drawable.bg这个就自己找吧