本文内容是来自千锋学院Mars老师的视频,通过看Mars老师的视频,整理学习笔记。在此,感谢Mars老师的无私奉献的教育资源,同样,很感谢互联网这个平台,感谢互联网“开放,自由,平等,共享”的伟大精神。
1、数独开发设计的知识
(1)Android图形学编程基础知识。
(2)自定义View的实现。
(3)Paint对象的使用。
(4)Canvas对象的使用。
2、画笔Paint和画布Canvas对象
在本游戏的开发中,主要用到了画笔对象和画布对象。通过定义一系列的画笔,然后我们就能够在画布上画出我们想要的图形,包括线条,圆,长方形,字符串,图片等。
定义画笔的颜色用到的是Color对象。
定义画笔的颜色有三种方法:
(1)调用系统自定义的颜色,例如:int color = Color.BLUE;
(2)自定义的颜色,例如:int color = Color.argb(177,255,255,255);其中argb几个字母的意思为:a(透明度),r(red红色),g(green绿色),b(blue蓝色)。
(3)还可以自定义好颜色在xml布局文件中,通过代码调用。
例如:颜色资源文件为:res/values/colors.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
<color name="shudu_background">#ffe6f0ff</color>
<color name="shudu_hilite">#ffffffff</color>
<color name="shudu_light">#64c6d4ef</color>
<color name="shudu_dark">#6456648f</color>
</resources>
在代码中调用该xml文件中定义的颜色:
//定义画笔对象-->绘制格子线条
Paint darkPaint = new Paint();
darkPaint.setColor(getResources().getColor(R.color.shudu_dark));
Paint hilitePaint = new Paint();
hilitePaint.setColor(getResources().getColor(R.color.shudu_hilite));
Paint lightPaint = new Paint();
lightPaint.setColor(getResources().getColor(R.color.shudu_light));
3、下面通过来绘制一条蓝色的直线,来练习上面的对象。
(1)首先自定义一个View,然后覆写其中的onDraw(Canvas canvas)方法。
package com.mars.demo;
import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.view.View;
public class MyView extends View
{
public MyView(Context context)
{
super(context);
// TODO Auto-generated constructor stub
}
//当Android系统需要绘制一个View对象时,就调用该方法
@Override
protected void onDraw(Canvas canvas)
{
// TODO Auto-generated method stub
super.onDraw(canvas);
//定义画笔对象
Paint paint = new Paint();
//为画笔设置颜色
paint.setColor(Color.BLUE);
//调用画布对象画一条蓝色的线
canvas.drawLine(0, 0, 200, 200, paint);
}
}
该蓝色直线的坐标原点在手机的左上角的位置,例如:
(2)然后再MainActivity中调用该View就可以画出一条蓝色的直线了。
package com.mars.demo;
import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.view.View;
public class MyView extends View
{
public MyView(Context context)
{
super(context);
// TODO Auto-generated constructor stub
}
//当Android系统需要绘制一个View对象时,就调用该方法
@Override
protected void onDraw(Canvas canvas)
{
// TODO Auto-generated method stub
super.onDraw(canvas);
//定义画笔对象
Paint paint = new Paint();
//为画笔设置颜色
paint.setColor(Color.BLUE);
//调用画布对象画一条蓝色的线
canvas.drawLine(0, 0, 200, 200, paint);
}
}
这篇博客就记录这些了。算是数独游戏的一个开始哦。接下来将慢慢进入数独游戏的开发。