1.int Color1 = Color.blue;
2.int Color2 = Color.argb(177,255,255,255);
3.在XML文件当中定义颜色。
1.Paint对象:用于控制画笔的风格(粗细等)和颜色。
2.paint.setColor(Color.blue);
3.paint的设置方法:
setAntiAlias:设置画笔锯齿效果
setColor:设置画笔颜色
setARGB:设置画笔的a,r,g,b值
setAlpha:设置透明度
setTextSize:设置字体尺寸
setStyle:设置画笔风格,空心或实心
setStrokeWidth:设置空心的边框宽度
getColor:得到画笔的颜色
getAlpha:得到画笔的透明度
1.在画布上绘制字符、图形和图片等内容。
(1)其中绘制字符时用drawText(String text,float x,float y,Paint paint)
特别的,y指基准线的位置,不是最底下的位置。
(2)绘制图片
drawBitmap(Bitmap bitmap,float left,float top,Paint paint)
2.canvas.drawCircle(300,400,100,paint);
3.canvas绘制常见图形的方法:
绘制直线:drawLine(float startX,float startY,float stopX,float stopY,Paint paint)
绘制矩形:drawRect(float left,float top,float right,float bottom,Paint paint)
绘制圆形:drawCircle(float cx,float cy,float radius,Paint paint)
1.定义一个类,继承View
2.复写View的onDraw方法
3.在onDraw方法中使用Canvas和Paint对象绘制图形
(1)画背景为蓝色
(2)用循环语句画出9*9=81个单元格(添加刻痕效果)
(3)设置文字在矩形框居中的居中方法(设置画笔setTextAlign使字符水平方向居中;FontMetrics的使用使字符垂直方向居中)
FontMetrcs的使用:
FontMetrcs fm = paint.getFontMetrcs();
FontMetrcs的四个参数:
top:基线到最顶端的位置(负数)
bottom:基线到最底端的位置(负数)
ascent:基线到视觉顶端的位置(正数)
descent:基线到视觉底端的位置(正数)
居中代码实现:
FontMetrcs fm = numberPaint.fetFontMetrcs();
float x = width/2;
float y = height/2-(fm.ascent + fm.descent)/2;
canvas.drawText("1",4*width+x,y,numberPaint);
(1)初始化九宫格数据
定义一个字符串str,初始化81个单元格的数据,其中不显示的单元格用‘0’表示。
定义一个长度为81的数组,存储初始化的数字。
定义一个方法用来将字符串转化为数字存放到数组中,并将该方法放入Game类的构造函数中。
定义一个方法用来得到某行某列的数字
定义一个方法用来得到某行某列的字符