Android Studio写一个计算器
流程概览
下面是实现一个简单的计算器的步骤概览:
步骤 | 操作 |
---|---|
1 | 创建一个新的Android项目 |
2 | 在布局文件中设计计算器的界面 |
3 | 在MainActivity中处理计算逻辑 |
4 | 运行应用并测试 |
详细步骤
1. 创建一个新的Android项目
首先,在Android Studio中创建一个新的Android项目。在项目创建过程中,可以选择自定义的包名和最低支持的安卓版本。
2. 设计计算器的界面
在res/layout目录下的activity_main.xml文件中,使用布局组件设计计算器的界面。可以使用LinearLayout、GridLayout或者TableLayout等布局组件来实现。
<LinearLayout xmlns:android="
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<!-- 显示运算结果的TextView -->
<TextView
android:id="@+id/resultTextView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textSize="24sp"
android:gravity="end"
android:padding="8dp"
android:text="0" />
<!-- 数字按钮的GridLayout -->
<GridLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:columnCount="4"
android:rowCount="5">
<!-- 数字按钮 -->
<Button
android:id="@+id/button1"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_columnWeight="1"
android:layout_rowWeight="1"
android:text="1" />
<Button
android:id="@+id/button2"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_columnWeight="1"
android:layout_rowWeight="1"
android:text="2" />
<!-- ... 其他数字按钮 ... -->
<!-- 运算符按钮 -->
<Button
android:id="@+id/buttonPlus"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_columnWeight="1"
android:layout_rowWeight="1"
android:text="+" />
<!-- ... 其他运算符按钮 ... -->
<!-- 等号按钮 -->
<Button
android:id="@+id/buttonEquals"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_columnSpan="2"
android:layout_columnWeight="2"
android:text="=" />
<!-- 清除按钮 -->
<Button
android:id="@+id/buttonClear"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:layout_columnWeight="1"
android:text="C" />
</GridLayout>
</LinearLayout>
3. 处理计算逻辑
在MainActivity中处理计算逻辑,这里可以借助一个计算器类来执行实际的计算操作。
首先,在MainActivity中声明所需的变量和控件:
public class MainActivity extends AppCompatActivity {
private TextView resultTextView;
private Button button1;
private Button button2;
// ...
private String currentNumber;
private String currentOperator;
private Calculator calculator;
// ...
}
在onCreate方法中,初始化控件和变量,设置按钮的点击事件监听器:
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// 初始化控件
resultTextView = findViewById(R.id.resultTextView);
button1 = findViewById(R.id.button1);
button2 = findViewById(R.id.button2);
// ...
// 初始化变量
currentNumber = "";
currentOperator = "";
calculator = new Calculator();
// 设置按钮点击事件监听器
button1.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
appendNumber("1");
}
});
button2.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
appendNumber("2");
}
});
// ...
buttonPlus.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
setOperator("+");
}
});
// ...
buttonEquals.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
calculate();
}
});
buttonClear.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
clear();