终极密码游戏
Activity
view sourceprint?
01 package android.m9;
02
03 import android.app.Activity;
04 import android.graphics.Color;
05 import android.os.Bundle;
06 import android.view.View;
07 import android.view.View.OnClickListener;
08 import android.widget.Button;
09 import android.widget.EditText;
10 import android.widget.TextView;
11
12 public class main extends Activity {
13 /** Called when the activity is first created. */
14 private TextView logo;
15 private EditText etStart, etEnd;
16 private TextView tv;
17 private EditText guess;
18 private Button reset, submit;
19 private EditText result;
20 private int key;
21 private int myguess;
22
23 @Override
24 public void onCreate(Bundle savedInstanceState) {
25 super.onCreate(savedInstanceState);
26 setContentView(R.layout.main);
27 // get id for widgets
28 logo = (TextView) findViewById(R.id.logo);
29 logo.setTextColor(Color.GRAY);
30 etStart = (EditText) findViewById(R.id.etStart);
31 etEnd = (EditText) findViewById(R.id.etEnd);
32 tv = (TextView) findViewById(R.id.tv);
33 tv.setText(R.string.tv);
34 guess = (EditText) findViewById(R.id.guess);
35 reset = (Button) findViewById(R.id.reset);
36 submit = (Button) findViewById(R.id.submit);
37 result = (EditText) findViewById(R.id.result);
38 // set not enabled to input
39 result.setEnabled(false);
40 etStart.setEnabled(false);
41 etStart.setText("" + 0);
42 etEnd.setEnabled(false);
43 etEnd.setText("" + 100);
44 result.setEnabled(false);
45 // random number
46 key = (int) (Math.random() * 100);
47 // set listener
48 reset.setOnClickListener(new OnClickListener() {
49 public void onClick(View v) {
50 // TODO Auto-generated method stub
51 key = (int) (Math.random() * 100);
52 guess.setText("");
53 etStart.setText("0");
54 etEnd.setText("100");
55 }
56 });
57 submit.setOnClickListener(new OnClickListener() {
58 public void onClick(View v) {
59 // TODO Auto-generated method stub
60 myguess = (Integer.decode(guess.getText().toString()))
61 .intValue();
62 if (key == myguess)
63 result.setText(R.string.bingo);
64 else {
65 if (myguess > key) {
66 etEnd.setText("" + myguess);
67 } else {
68 etStart.setText("" + myguess);
69 }
70 guess.setText("");
71 }
72 }
73 });
74 }
75
76 }
[代码] 布局xml
view sourceprint?
01 <?xml version="1.0" encoding="utf-8"?>
02 <LinearLayout
03 xmlns:android="http://schemas.android.com/apk/res/android"
04 android:layout_width="fill_parent"
05 android:orientation="vertical"
06 android:layout_height="wrap_content"
07 android:padding="15dip">
08 <TextView
09 android:id="@+id/logo"
10 android:layout_width="fill_parent"
11 android:layout_height="wrap_content"
12 android:gravity="center_horizontal"
13 android:text="@string/logo">
14 </TextView>
15 <TableLayout
16 android:layout_width="fill_parent"
17 android:layout_height="wrap_content"
18 android:orientation="vertical">
19 <TableRow
20 android:id="@+id/tableRow1"
21 android:layout_width="wrap_content"
22 android:layout_height="wrap_content"
23 android:gravity="center_horizontal">
24 <EditText
25 android:id="@+id/etStart"
26 android:layout_width="fill_parent"
27 android:layout_height="wrap_content"
28 android:width="80dip">
29 </EditText>
30 <TextView
31 android:id="@+id/tv"
32 android:layout_width="fill_parent"
33 android:layout_height="wrap_content">
34 </TextView>
35 <EditText
36 android:id="@+id/etEnd"
37 android:layout_width="fill_parent"
38 android:layout_height="wrap_content"
39 android:width="80dip">
40 </EditText>
41 </TableRow>
42 <TableRow
43 android:id="@+id/tableRow2"
44 android:layout_width="wrap_content"
45 android:layout_height="wrap_content"
46 android:gravity="center_horizontal">
47 <Button
48 android:text="@string/reset"
49 android:layout_width="fill_parent"
50 android:id="@+id/reset"
51 android:layout_height="wrap_content">
52 </Button>
53 <EditText
54 android:id="@+id/guess"
55 android:layout_width="fill_parent"
56 android:layout_height="wrap_content"
57 android:numeric="integer"
58 android:width="50dip">
59 </EditText>
60 <Button
61 android:text="@string/submit"
62 android:layout_width="fill_parent"
63 android:id="@+id/submit"
64 android:layout_height="wrap_content">
65 </Button>
66 </TableRow>
67 </TableLayout>
68 <EditText
69 android:padding="30dip"
70 android:id="@+id/result"
71 android:layout_width="fill_parent"
72 android:layout_height="wrap_content"
73 android:width="150dip"
74 android:gravity="center_horizontal">
75 </EditText>
76 </LinearLayout>
[代码] string.xml
view sourceprint?1 <?xml version="1.0" encoding="utf-8"?>
2 <resources>
3 <string name="app_name">FinalCode</string>
4 <string name="logo">FinalCode</string>
5 <string name="tv">~</string>
6 <string name="reset">开始</string>
7 <string name="submit">确定</string>
8 <string name="bingo">恭喜您猜对了!^ ^</string>
9 </resources>