引言
计算器是每个学习 Android 开发者必经的经典项目之一。本篇文章将带你创建一个功能更强大的计算器应用,支持基本的加减乘除运算、带小数点的输入以及更多操作符功能。通过这个项目,你将全面掌握 Android 的布局设计、事件处理和逻辑实现技巧。
一、功能设计
基础功能
- 支持基本运算:加、减、乘、除。
- 支持小数点输入:可以输入和计算小数。
- 实时显示结果:输入数字和符号后立即显示计算结果。
进阶功能
- 清除功能:重置当前计算状态。
- 百分比运算:支持百分比的简单操作。
- 正负号切换:支持正负数输入。
二、项目创建与布局设计
1. 创建新项目
- 打开 Android Studio,点击 New Project。
- 选择 Empty Activity 模板,命名项目为 AdvancedCalculator。
- 选择编程语言为 Java 或 Kotlin。
2. 布局设计
打开 res/layout/activitymain.xml
文件,设计用户界面。
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:padding="16dp">
<!-- 显示屏 -->
<EditText
android:id="@+id/display"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="numberDecimal"
android:gravity="right"
android:padding="10dp"
android:background="@android:color/white" />
<!-- 数字和操作符按钮 -->
<GridLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:rowCount="5"
android:columnCount="4"
android:padding="10dp">
<Button
android:id="@+id/btn_1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="1" />
<Button
android:id="@+id/btn_2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="2" />
<Button
android:id="@+id/btn_3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="3" />
<Button
android:id="@+id/btn_add"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="+" />
<!-- 其他按钮 -->
</GridLayout>
</LinearLayout>
三、事件处理和逻辑实现
1. 事件处理
在 MainActivity
中,为每个按钮设置点击事件监听器。
public class MainActivity extends AppCompatActivity {
private EditText display;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
display = findViewById(R.id.display);
findViewById(R.id.btn_1).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
display.append("1");
}
});
// 其他按钮的事件监听器
}
}
2. 逻辑实现
在事件处理中,根据按钮点击事件实现相应的逻辑。
public class MainActivity extends AppCompatActivity {
private EditText display;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
display = findViewById(R.id.display);
findViewById(R.id.btn_1).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
display.append("1");
}
});
// 其他按钮的事件监听器
findViewById(R.id.btn_add).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
String currentText = display.getText().toString();
display.setText(currentText + "+");
}
});
}
}
四、总结
通过本篇文章,你学会了如何从零开发一个多功能计算器应用。从功能设计、布局设计、事件处理到逻辑实现,你全面掌握了 Android 开发的相关技巧。希望这个项目能够帮助你更好地学习和实践 Android 开发。