制作⼀个简易计算器——基于AndroidStudio实现
⼀个计算器Android程序的源码部分分为主⼲和细节两部分。
⼀、主⼲
1. 主⼲的构成
计算器的布局
事件(即计算器上的按钮、⽂本框)监听
实现计算
2. 详细解释
  假设我们的项⽬名为Calculator,⽽布局名称(Layout Name)为默认的activity_main 。即设置如下图所⽰:
  在这种前提下,有:
设置计算器布局的⽂件:Calculator/app/src/main/res/layout/l
事件监听和计算实现在同⼀个⽂件⾥:Calculator/app/src/main/java/下的⼀个⼦⽬录⾥的MainActivity.java
  即如下图所⽰:
计算器布局代码(写在l⽂件⾥):
1<?xml version="1.0" encoding="utf-8"?>
2<ScrollView xmlns:android="schemas.android/apk/res/android"
3    android:layout_width="fill_parent"
4    android:layout_height="wrap_content"
5>
6<LinearLayout
7android:layout_width="fill_parent"
8        android:layout_height="fill_parent"
9        android:orientation="vertical">
10<EditText
11android:id="@+id/input"
12            android:layout_width="fill_parent"
13            android:layout_height="wrap_content"
14            android:layout_gravity="center"
15            android:editable="false"
16            android:hint="@string/shuru"/>
17
18<EditText
19android:id="@+id/output"
20            android:layout_width="fill_parent"
21            android:layout_height="wrap_content"
22            android:layout_gravity="center"
23            android:editable="true"
24            android:gravity="right"
25            android:hint="@string/shuchu"/>
26
27<RelativeLayout
28android:layout_width="fill_parent"
29            android:layout_height="wrap_content">
30
31<Button
32android:id="@+id/seven"
33                android:layout_width="80dp"
34                android:layout_height="70dp"
35                android:layout_alignParentLeft="true"
36                android:text="@string/seven"
37                android:textSize="40sp"/>
38
39<Button
40android:id="@+id/eight"
41                android:layout_width="80dp"
42                android:layout_height="70dp"
43                android:layout_toRightOf="@id/seven"
44                android:text="@string/eight"
45                android:textSize="40sp"/>
46
47<Button
48android:id="@+id/nine"
49                android:layout_width="80dp"
50                android:layout_height="70dp"
51                android:layout_toRightOf="@id/eight"
52                android:text="@string/nine"
53                android:textSize="40sp"/>
54
55<Button
56android:id="@+id/add"
57                android:layout_width="80dp"
58                android:layout_height="70dp"
59                android:layout_alignParentRight="true"
60                android:layout_toRightOf="@id/nine"
61                android:text="@string/add"
62                android:textSize="40sp"/>
63
64<Button
65android:id="@+id/four"
66                android:layout_width="80dp"
67                android:layout_height="70dp"
68                android:layout_alignParentLeft="true"
69                android:layout_below="@id/seven"
70                android:text="@string/four"
71                android:textSize="40sp"/>
72
73<Button
74android:id="@+id/five"
75                android:layout_width="80dp"
76                android:layout_height="70dp"
77                android:layout_below="@id/eight"
78                android:layout_toRightOf="@id/four"
79                android:text="@string/five"
80                android:textSize="40sp"/>
81
82<Button
83android:id="@+id/six"
84                android:layout_width="80dp"
85                android:layout_height="70dp"
86                android:layout_below="@id/nine"
87                android:layout_toRightOf="@id/five"
88                android:text="@string/six"
89                android:textSize="40sp"/>
90
91<Button
92android:id="@+id/subtract"
93                android:layout_width="80dp"
94                android:layout_height="70dp"
95                android:layout_alignParentRight="true"
96                android:layout_below="@id/add"
97                android:layout_toRightOf="@id/six"
98                android:text="@string/subtract"
99                android:textSize="40sp"/>
100
101<Button
102android:id="@+id/one"
103                android:layout_width="80dp"
104                android:layout_height="70dp"
105                android:layout_alignParentLeft="true" 106                android:layout_below="@id/four"
107                android:text="@string/one"
108                android:textSize="40sp"/>
109
vb计算器代码大全
110<Button
111android:id="@+id/two"
112                android:layout_width="80dp"
113                android:layout_height="70dp"
114                android:layout_below="@id/five"
115                android:layout_toRightOf="@id/one" 116                android:text="@string/two"
117                android:textSize="40sp"/>
118
119<Button
120android:id="@+id/three"
121                android:layout_width="80dp"
122                android:layout_height="70dp"
123                android:layout_below="@id/six"
124                android:layout_toRightOf="@id/two" 125                android:text="@string/three"
126                android:textSize="40sp"/>
127
128<Button
129android:id="@+id/multiply"
130                android:layout_width="80dp"
131                android:layout_height="70dp"
132                android:layout_alignParentRight="true" 133                android:layout_below="@id/subtract" 134                android:layout_toRightOf="@id/three" 135                android:text="@string/multiply"
136                android:textSize="40sp"/>
137
138<Button
139android:id="@+id/zero"
140                android:layout_width="80dp"
141                android:layout_height="70dp"
142                android:layout_alignParentLeft="true" 143                android:layout_below="@id/one"
144                android:text="@string/zero"
145                android:textSize="40sp"/>
146
147<Button
148android:id="@+id/clear"
149                android:layout_width="80dp"
150                android:layout_height="70dp"
151                android:layout_below="@id/two"
152                android:layout_toRightOf="@id/zero" 153                android:text="@string/clear"
154                android:textSize="40sp"/>
155
156<Button
157android:id="@+id/result"
158                android:layout_width="80dp"
159                android:layout_height="70dp"
160                android:layout_below="@id/three"
161                android:layout_toRightOf="@id/clear" 162                android:text="@string/result"
163                android:textSize="40sp"/>
164
165<Button
166android:id="@+id/divide"
167                android:layout_width="80dp"
168                android:layout_height="70dp"
169                android:layout_alignParentRight="true" 170                android:layout_below="@id/multiply" 171                android:layout_toRightOf="@id/result" 172                android:text="@string/divide"
173                android:textSize="40sp"/>
174
175<Button
176android:id="@+id/dot"
177                android:layout_width="80dp"
178                android:layout_height="70dp"
179                android:layout_alignParentLeft="true" 180                android:layout_below="@id/zero"
181                android:text="@string/dot"
182                android:textSize="40sp"/>
183<Button
184android:id="@+id/writeButton"
185                android:layout_width="wrap_content" 186                android:layout_height="wrap_conten
t" 187                android:layout_alignParentLeft="true" 188                android:layout_below="@id/dot"
189                android:text="@string/write"
190                android:textSize="40sp"/>
191<Button
192android:id="@+id/readButton"
193                android:layout_width="wrap_content" 194                android:layout_height="wrap_content" 195                android:layout_alignParentRight="true" 196                android:layout_below="@id/dot"
197                android:text="@string/read"
198                android:textSize="40sp"/>
199
200<CheckBox
201android:id="@+id/appendBox"
202                android:text="@string/appendBox"
203                android:layout_width="wrap_content" 204                android:layout_height="wrap_content" 205                android:layout_alignParentBottom="true" 206                android:layout_toLeftOf="@+id/divide" 207                android:layout_toStartOf="@+id/divide" 208                android:layout_marginBottom="12dp" 209/>
210
211</RelativeLayout>
212
213<EditText
214
215android:layout_width="match_parent"
216            android:layout_height="wrap_content"
217            android:id="@+id/textView"/>
218
219<EditText
220
221android:layout_width="match_parent"
222            android:layout_height="wrap_content"
223            android:id="@+id/displayView"/>
224
225<EditText
226android:id="@+id/errorzero"
227            android:layout_width="fill_parent"
228            android:layout_height="wrap_content"
229            android:layout_gravity="center"
230            android:editable="false"
231            android:gravity="center"
232/>
233<EditText
234android:id="@+id/resultText"
235            android:layout_width="fill_parent"
236            android:layout_height="wrap_content"
237            android:layout_gravity="center"
238            android:editable="false"
239            android:gravity="left"
240            android:text="@string/resultText"
241/>
242</LinearLayout>
243</ScrollView>
View Code
事件监听和实现计算代码(写在MainActivity.java⽂件⾥)
ample.lenovo.calculator;
2
3
4
5import android.app.Activity;
t.Context;
7import android.os.Bundle;
8import android.view.View;
9import android.view.View.OnClickListener;
10import android.widget.Button;
11import android.widget.CheckBox;
12import android.widget.EditText;
13
14import java.io.FileInputStream;
15import java.io.FileNotFoundException;
16import java.io.FileOutputStream;
17import java.io.IOException;
18
19public class MainActivity extends Activity {
20/**
21    * Called when the activity is first created.
22*/
23private EditText output = null;
24private EditText input = null;
25private Button btn0 = null;
26private Button btn1 = null;
27private Button btn2 = null;
28private Button btn3 = null;
29private Button btn4 = null;
30private Button btn5 = null;
31private Button btn6 = null;
32private Button btn7 = null;
33private Button btn8 = null;
34private Button btn9 = null;
35private Button btnadd = null;
36private Button btnsubtract = null;
37private Button btnmultiply = null;
38private Button btndivide = null;
39private Button btnclear = null;
40private Button btnresult = null;
41private Button btndot = null;
42
43private EditText errorzero = null;
44
45private EditText resultText = null;

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。