前阵子开发了一个数独游戏。我先展示一下成果,然后给出代码,最后讲讲我的收获。
以下是界面:
接下来是文件结构:
Game.java------数独游戏中的逻辑运算,包括计算一行或者一列未使用的数字
MainActivity.java------用来显示前面的界面,还包括menu选项
MyDialog.java------点击单元格显示的对话框
MyView.java------界面的生成,包括横线,数字
(具体每段代码做什么,我会在接下来的代码中给出详细解释)
代码地址:点击打开链接
相对于第一个项目《家庭理财通》点击打开链接我有了进一步的收获。最大的收获是如何自定义View。
自定义View代码如下:
public class TestView extends View {
public TestView(Context context, AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
init();
}
public TestView(Context context, AttributeSet attrs) {
super(context, attrs);
init();
}
public TestView(Context context) {
super(context);
init();
}
public void init(){
//自定义方法,包括初始化paint和canvas
}
@Override
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
}
}
(三个构造函数其实可以任选) 重写onDraw用来修改视图的外观,当然还可以重写其他方法来实现其他的功能