本次作业要求实现一个计算器应用的基础框架。以下是布局文件的核心代码:
<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"><EditTextandroid:id="@+id/inputText"android:layout_width="match_parent"android:layout_height="wrap_content"android:hint="请输入计算内容"android:textSize="24sp"/><Buttonandroid:id="@+id/calculateButton"android:layout_width="wrap_content"android:layout_height="wrap_content"android:text="计算"android:layout_gravity="center_horizontal"android:layout_marginTop="20dp"/><TextViewandroid:id="@+id/resultText"android:layout_width="match_parent"android:layout_height="wrap_content"android:text="结果将显示在这里"android:textSize="24sp"android:layout_marginTop="20dp"/>
</LinearLayout>
这个布局包含一个输入框、一个按钮和一个结果显示区域,使用线性布局垂直排列所有元素。
接下来需要编写代码处理按钮点击事件并实现计算逻辑:
// MainActivity.kt
class MainActivity : AppCompatActivity() {override fun onCreate(savedInstanceState: Bundle?) {super.onCreate(savedInstanceState)setContentView(R.layout.activity_main)// 获取UI组件引用val inputText = findViewById<EditText>(R.id.inputText)val calculateButton = findViewById<Button>(R.id.calculateButton)val resultText = findViewById<TextView>(R.id.resultText)// 设置按钮点击事件calculateButton.setOnClickListener {val input = inputText.text.toString()if (input.isNotEmpty()) {try {// 简单计算逻辑val result = evaluateExpression(input)resultText.text = "计算结果: $result"} catch (e: Exception) {resultText.text = "计算错误: ${e.message}"}} else {resultText.text = "请输入计算内容"}}}// 简单表达式计算函数private fun evaluateExpression(expression: String): Double {// 实际项目中应使用更健壮的表达式解析库return expression.toDoubleOrNull() ?: 0.0}
}
这个代码实现了基本的用户交互流程:获取输入、计算结果、显示输出。