当前位置: 首页 > news >正文

android计算器代码

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

<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}
}

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

http://www.xdnf.cn/news/931519.html

相关文章:

  • uni-app学习笔记二十四--showLoading和showModal的用法
  • 自然语言处理——文本表示
  • 泛型约束:用于限制泛型类型参数的范围
  • 力扣HOT100之二分查找:4. 寻找两个正序数组的中位数
  • 深入解析 Pandas 核心数据结构:Series 与 DataFrame
  • ubuntu 安装 sougou
  • c++ 头文件
  • iview组件库:当后台返回到的数据与使用官网组件指定的字段不匹配时,进行修改某个属性名再将response数据渲染到页面上的处理
  • 海思Hi3798MV310_V39_HMS DDR3_安卓9.0_外贸盒update升级包
  • ALOHA ACT算法与源码笔记
  • Keil进阶操作
  • 前沿探索:可视化助力设备运维实现跨越式发展
  • JAVA反序列化应用 : URLDNS案例
  • 前端获取接口数据流程
  • 二分答案-P1873 砍树
  • MySQL中的部分问题(2)
  • Spring整合Mybatis
  • WEB3全栈开发——面试专业技能点P3JavaScript / TypeScript
  • 数据库、数据仓库、数据中台、数据湖相关概念
  • MATLAB R2025a|Win中文|仿真建模|安装教程
  • uni-app学习笔记二十三--交互反馈showToast用法
  • Docker 安装 Ubuntu
  • day27-shell编程(自动化)
  • 附加模块--Qt Shader Tools功能及架构解析
  • typeof运算符 +unll和undefined的区别
  • AI书签管理工具开发全记录(十七):Sun-Panel书签同步实现
  • 【ArcGIS Pro微课1000例】0072:如何自动保存编辑内容及保存工程?
  • 68常用控件_QGroupBox的使用
  • C语言中的文件操作
  • Android写一个捕获全局异常的工具类