第一个Android项目——计算器
效果
开始学Android一两个星期了,学习了一下基本的Activity、简单控件及几个简单布局,打算找个东西来练练手,于是就选择发计算器。关于计算器中用到的四则运算在上一篇博客表达式(四则运算)计算的算法中已经讲了。这里不再赘述。
先看一下要达成的效果图:
图1
这里只用到了一个Activity,有EditText、Button两个控件组成,所以比较简单。
布局
这里用到了三种布局:
LinearLayout:一个整体的垂直的线性布局
有几个属性解释一下:
android:layout_width="match_parent"layout宽度,match_parent匹配父控件,在这里就是Activity
android:layout_height="match_parent"layoutr高度
android:orientation="vertical"定义为垂直方向
tools:context=".MainActivity"对应的Activity的java文件
RelativeLayout:相对布局,用于控制backspace和clear按钮
android:layout_alignParentTop="true"与父窗口顶部对齐
android:layout_toLeftOf="@+id/clear"在clear组件的大侧
android:layout_alignParentRight="true"与父窗口右端对齐
android:padding="18dip"组件之前的空隙
android:gravity="center"组件中文本的对齐方式
TableLayout一个4*5的表格布局,用于存放数字和符号按钮
事件监听
我知道的事件监听有两种方式:
一种是先获得控件的对象,再通过控件对象设置监听setOnClickListener();如:
Buttonbackspace=(Button)findViewById(R.id.backspace);
backspace.setOnClickListener(newOnClickListener(){
@Override
publicvoidonClick(Viewv){
//TODOAuto-generatedmethodstub
}
}
);
另一种方法是定义一个方法,通过getTag获得控件,然后为多个控件添加监听事件。
publicvoidonClickTransaction(Viewv){
//backspaceandclear
if("backspace".equals(v.getTag())){
//dosomething
}elseif("clear".equals(v.getTag())){
//dosomething
}
}
然后在xml文件中对应的控件上设置该监听的函数名
<Button
android:onClick="onClickTransaction"
android:tag="1"
android:layout_height="fill_parent"
android:id="@+id/row0col0"
android:layout_gravity="center_vertical"
android:gravity="center"
android:padding="2dip"
android:text="@string/row0col0">
</Button>
PS:
我在做这个项目的时候遇到一个很诡异的问题,大家交流一下。在我做出了整体的布局如上面的图1中的时候,相应的监听也加进去了,监听都没有问题。在加最后一个“=”按钮的监听时就不行了,一点按钮就崩溃,后面把最后一个按钮的监听事件去掉了,还是有问题。找了半天没有找到,叫老师过来用debug找了半个小时也没有找到什么错误。后来我一个同学,帮我一点点地试,发现好像什么id生成错误,后面eclipse的project/clean...清除一下缓存,重新编译一下,一切问题都没有了,运行良好。
当你遇到一些比较诡异的问题老是解决不了,你也不防试一下eclipse的project/clean清除一下缓存,也许问题就解决了。
项目下载:http://download.csdn.net/download/luoweifu/6041661
分享到:
相关推荐
建立第一个Android项目(Hello Android!) Android应用程序架构——从此开始 可视化的界面开发工具 部署应用程序到Android手机 该作品是PDF文件格式请下载 福昕PDF阅读器 第3章 用户人机界面 3.1...
2.2 建立第一个Android项目(Hello Android!) 2.3 Android应用程序架构——从此开始 2.4 可视化的界面开发工具 2.5 部署应用程序到Android手机 第3章 用户人机界面 3.1 更改与显示文字...
5.2.6实例——计算器 5.2.7 使用图片按钮——ImageButton 5.2.8 使用复选框——CheckBox 5.2.9实例——请同意本协议 5.2.10 使用单选框——RadioGroup 5.2.11 实例——请选择性别 5.2.12使用下拉列表框——Spinner ...
2.2 建立第一个Android项目(HelloAndroid!) 2.3 Android应用程序架构——从此开始 2.4 可视化的界面开发工具 2.5 部署应用程序到Android手机 第3章 用户人机界面 3.1 更改与显示文字标签——TextView标签的使用 ...
2.2 建立第一个Android项目(HelloAndroid!) 2.3 Android应用程序架构——从此开始 2.4 可视化的界面开发工具 2.5 部署应用程序到Android手机 第3章 用户人机界面 3.1 更改与显示文字标签——TextView标签的使用 ...
2.2 建立第一个Android项目(HelloAndroid!) 2.3 Android应用程序架构——从此开始 2.4 可视化的界面开发工具 2.5 部署应用程序到Android手机 第3章 用户人机界面 3.1 更改与显示文字标签——TextView标签的使用 ...
5.2.6实例——计算器 5.2.7 使用图片按钮——ImageButton 5.2.8 使用复选框——CheckBox 5.2.9实例——请同意本协议 5.2.10 使用单选框——RadioGroup 5.2.11 实例——请选择性别 5.2.12使用下拉列表框——Spinner ...
2.2 建立第一个Android项目(HelloAndroid!) 2.3 Android应用程序架构——从此开始 2.4 可视化的界面开发工具 2.5 部署应用程序到Android手机 第3章 用户人机界面 3.1 更改与显示文字标签——TextView标签的使用 ...
2.2 建立第一个Android项目(HelloAndroid!) 2.3 Android应用程序架构——从此开始 2.4 可视化的界面开发工具 2.5 部署应用程序到Android手机 第3章 用户人机界面 3.1 更改与显示文字标签——TextView标签的...
1.1 红透半边天的Android 1.2 本书目的及涵盖范例范围 1.3 如何阅读本书 1.4 使用本书范例 1.5 参考网站 第2章 Android初体验 2.1 安装AndroidSDK与ADTplug-in 2.2 建立第一个Android项目(HelloAndroid!...
2.2 建立第一个Android项目(HelloAndroid!) 2.3 Android应用程序架构——从此开始 2.4 可视化的界面开发工具 2.5 部署应用程序到Android手机 第3章 用户人机界面 3.1 更改与显示文字标签——TextView标签的使用 ...
2.2 建立第一个Android项目(HelloAndroid!) 2.3 Android应用程序架构——从此开始 2.4 可视化的界面开发工具 2.5 部署应用程序到Android手机 第3章 用户人机界面 3.1 更改与显示文字标签——TextView标签的使用 ...
2.2 建立第一个Android项目(HelloAndroid!) 2.3 Android应用程序架构——从此开始 2.4 可视化的界面开发工具 2.5 部署应用程序到Android手机 第3章 用户人机界面 3.1 更改与显示文字标签——TextView标签的使用 ...
2.2 建立第一个Android项目(HelloAndroid!) 2.3 Android应用程序架构——从此开始 2.4 可视化的界面开发工具 2.5 部署应用程序到Android手机 第3章 用户人机界面 3.1 更改与显示文字标签——TextView标签的使用 ...
如果这是您第一次查看此 repo,请跳过此部分。 为了方便未来的开发人员,此部分位于顶部。 新的功能: 全新的表达式计算器。 我使用了 JEval 库。 请阅读他们的文档以了解我的代码(包装器),尽管它非常简单。 用于...