android计算器代码

发布于:2025-06-10 ⋅ 阅读:(16) ⋅ 点赞:(0)

本次作业要求实现一个计算器应用的基础框架。以下是布局文件的核心代码:

<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/inputText"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:hint="请输入计算内容"
        android:textSize="24sp"/>

    <Button
        android:id="@+id/calculateButton"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="计算"
        android:layout_gravity="center_horizontal"
        android:layout_marginTop="20dp"/>

    <TextView
        android: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
    }
}

这个代码实现了基本的用户交互流程:获取输入、计算结果、显示输出。