android五子棋view,Android五子棋棋盘的绘制

如果侵权,请告知,会删除。

因原博主展示的是图片,个人觉得不好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这个就自己找吧

0818b9ca8b590ca3270a3433284dd417.png

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值