本次作業要求實現一個計算器應用的基礎框架。以下是布局文件的核心代碼:
<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}
}
這個代碼實現了基本的用戶交互流程:獲取輸入、計算結果、顯示輸出。