其實在這個程序中,最主要也是最重要的部分就是舒爾特方格的遊戲部分,如何生成排列布局,實現遊戲功能等是其中最核心的過程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
便可