其实在这个程序中,最主要也是最重要的部分就是舒尔特方格的游戏部分,如何生成排列布局,实现游戏功能等是其中最核心的过程
LinearLayout、RelativeLayout和TableLayout可以选择。而书上又说明了TableLayout类其实是LinearLayout类的一个子类,所以最后问题就归结为选择LinearLayout还是RelativeLayout。
RelativeLayout来进行布局。//批量随机生成按钮
private void findViews(RelativeLayout layout) {
for (int i = 0, j = 0; i < 25; i++) {
btn[i] = new Button(this);
int temp = getRandom();
btn[i].setText(temp + "");
btn[i].setId(temp);
RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(
length, length);
if (i != 0 & i % 5 == 0) {
j++;
}
params.leftMargin = 40 + length * (i % 5) - (i % 5) * 10;
params.topMargin = 40 + length * j - j * 10;
layout.addView(btn[i], params);
}
}
private Integer getRandom() {
Random random = new Random(System.currentTimeMillis());
int i = 0;
do {
i = random.nextInt(25) + 1; }
while (map.get(i) != null);
map.put(i, i + "");
return i;
}

AlertDialog方法,具体的使用方法可参照Android详细的对话框AlertDialog.Builder使用方法中的相关内容,比较简单,就不在此赘述。new AlertDialog.Builder(SecondActivity.this)
.setTitle("警告")
.setMessage("只能按顺序进行点击")
.setPositiveButton("返回游戏",
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog,int which) {}
}).show();
new AlertDialog.Builder(SecondActivity.this)
.setTitle("结束")
.setMessage("恭喜你完成游戏!")
.setPositiveButton("好的",
new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface dialog,int which) {
Intent intent = new Intent(SecondActivity.this,MainActivity.class);
startActivity(intent);
}
}).show();
Build -> Generate Signed APK
Create new…
OK

Next最后选择Finish即可

20172303 20172322 2017-2018-2 暑假作业 结对编程项目-舒尔特方格(及获小黄衫感想)
原文:https://www.cnblogs.com/PFrame/p/9571338.html