其实在这个程序中,最主要也是最重要的部分就是舒尔特方格的游戏部分,如何生成排列布局,实现游戏功能等是其中最核心的过程html
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
便可