- 浏览: 5831469 次
- 性别:
- 来自: 上海
文章分类
- 全部博客 (890)
- WindowsPhone (0)
- android (88)
- android快速迭代 (17)
- android基础 (34)
- android进阶 (172)
- android高级 (0)
- android拾遗 (85)
- android动画&效果 (68)
- Material Design (13)
- LUA (5)
- j2me (32)
- jQuery (39)
- spring (26)
- hibernate (20)
- struts (26)
- tomcat (9)
- javascript+css+html (62)
- jsp+servlet+javabean (14)
- java (37)
- velocity+FCKeditor (13)
- linux+批处理 (9)
- mysql (19)
- MyEclipse (9)
- ajax (7)
- wap (8)
- j2ee+apache (24)
- 其他 (13)
- phonegap (35)
最新评论
-
Memories_NC:
本地lua脚本终于执行成功了,虽然不是通过redis
java中调用lua脚本语言1 -
ZHOU452840622:
大神://处理返回的接收状态 这个好像没有监听到 遇 ...
android 发送短信的两种方式 -
PXY:
拦截部分地址,怎么写的for(int i=0;i<lis ...
判断是否登录的拦截器SessionFilter -
maotou1988:
Android控件之带清空按钮(功能)的AutoComplet ...
自定义AutoCompleteTextView -
yangmaolinpl:
希望有表例子更好。。。,不过也看明白了。
浅谈onInterceptTouchEvent、onTouchEvent与onTouch
先看图:
这里主要是锻炼一下TableLayout布局,注意其中的android:stretchColumns="0,1,2,3"属性,该属性可以控制每列的宽的权重,类似weight,由于这里4列都是“平等的”,所以是“0,1,2,3”,全部布局文件如下:
java源码如下,这代码我承认写的不好,主要是数字键button没有使用数组的形式,这样很拖沓,将就着看吧!
Android——Tabel布局,计算器的实现
http://blog.csdn.net/zhanghaidang/archive/2011/04/27/6366771.aspx
这里主要是锻炼一下TableLayout布局,注意其中的android:stretchColumns="0,1,2,3"属性,该属性可以控制每列的宽的权重,类似weight,由于这里4列都是“平等的”,所以是“0,1,2,3”,全部布局文件如下:
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="fill_parent" android:layout_height="fill_parent" > <EditText android:id="@+id/result" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="" android:singleLine="true" android:numeric="decimal" android:focusable="false" android:digits="1234567890." android:cursorVisible="false" /> <TableLayout android:layout_width="fill_parent" android:layout_height="wrap_content" android:stretchColumns="0,1,2,3"> <TableRow> <Button android:id="@+id/btn_1" android:text="1"/> <Button android:id="@+id/btn_2" android:text="2" /> <Button android:id="@+id/btn_3" android:text="3" /> <Button android:id="@+id/btn_add" android:text="+" /> </TableRow> <TableRow> <Button android:id="@+id/btn_4" android:text="4" /> <Button android:id="@+id/btn_5" android:text="5" /> <Button android:id="@+id/btn_6" android:text="6" /> <Button android:id="@+id/btn_sub" android:text="-" /> </TableRow> <TableRow> <Button android:id="@+id/btn_7" android:text="7" /> <Button android:id="@+id/btn_8" android:text="8" /> <Button android:id="@+id/btn_9" android:text="9" /> <Button android:id="@+id/btn_mul" android:text="*" /> </TableRow> <TableRow> <Button android:id="@+id/btn_dot" android:text="." /> <Button android:id="@+id/btn_0" android:text="0" /> <Button android:id="@+id/btn_eq" android:text="=" /> <Button android:id="@+id/btn_div" android:text="/" /> </TableRow> </TableLayout> <Button android:id="@+id/btn_clear" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="clear" /> </LinearLayout>
java源码如下,这代码我承认写的不好,主要是数字键button没有使用数组的形式,这样很拖沓,将就着看吧!
package com.wt.app; import android.app.Activity; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.EditText; public class App extends Activity { EditText editText; StringBuffer text; String number_1="",number_2=""; boolean clicked=false; byte style=0; Button btn_1,btn_2,btn_3,btn_4,btn_5,btn_6,btn_7,btn_8,btn_9,btn_0; Button btn_add,btn_sub,btn_mul,btn_div,btn_eq,btn_dot,btn_clear; /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); text=new StringBuffer(); editText=(EditText)findViewById(R.id.result); //editText.setFocusable(false); btn_1=(Button) findViewById(R.id.btn_1); btn_1.setOnClickListener(new Button.OnClickListener(){ public void onClick(View v) { // TODO Auto-generated method stub if(clicked){ editText.setText(""); clicked=false; text.setLength(0); } text.append("1"); editText.setText(text.toString()); } }); btn_2=(Button) findViewById(R.id.btn_2); btn_2.setOnClickListener(new Button.OnClickListener(){ public void onClick(View v) { // TODO Auto-generated method stub if(clicked){ editText.setText(""); clicked=false; text.setLength(0); } text.append("2"); editText.setText(text.toString()); } }); btn_3=(Button) findViewById(R.id.btn_3); btn_3.setOnClickListener(new Button.OnClickListener(){ public void onClick(View v) { // TODO Auto-generated method stub if(clicked){ editText.setText(""); clicked=false; text.setLength(0); } text.append("3"); editText.setText(text.toString()); } }); btn_4=(Button) findViewById(R.id.btn_4); btn_4.setOnClickListener(new Button.OnClickListener(){ public void onClick(View v) { // TODO Auto-generated method stub if(clicked){ editText.setText(""); clicked=false; text.setLength(0); } text.append("4"); editText.setText(text.toString()); } }); btn_5=(Button) findViewById(R.id.btn_5); btn_5.setOnClickListener(new Button.OnClickListener(){ public void onClick(View v) { // TODO Auto-generated method stub if(clicked){ editText.setText(""); clicked=false; text.setLength(0); } text.append("5"); editText.setText(text.toString()); } }); btn_6=(Button) findViewById(R.id.btn_6); btn_6.setOnClickListener(new Button.OnClickListener(){ public void onClick(View v) { // TODO Auto-generated method stub if(clicked){ editText.setText(""); clicked=false; text.setLength(0); } text.append("6"); editText.setText(text.toString()); } }); btn_7=(Button) findViewById(R.id.btn_7); btn_7.setOnClickListener(new Button.OnClickListener(){ public void onClick(View v) { // TODO Auto-generated method stub if(clicked){ editText.setText(""); clicked=false; text.setLength(0); } text.append("7"); editText.setText(text.toString()); } }); btn_8=(Button) findViewById(R.id.btn_8); btn_8.setOnClickListener(new Button.OnClickListener(){ public void onClick(View v) { // TODO Auto-generated method stub if(clicked){ editText.setText(""); clicked=false; text.setLength(0); } text.append("8"); editText.setText(text.toString()); } }); btn_9=(Button) findViewById(R.id.btn_9); btn_9.setOnClickListener(new Button.OnClickListener(){ public void onClick(View v) { // TODO Auto-generated method stub if(clicked){ editText.setText(""); clicked=false; text.setLength(0); } text.append("9"); editText.setText(text.toString()); } }); btn_0=(Button) findViewById(R.id.btn_0); btn_0.setOnClickListener(new Button.OnClickListener(){ public void onClick(View v) { // TODO Auto-generated method stub if(clicked){ editText.setText(""); clicked=false; text.setLength(0); } text.append("0"); editText.setText(text.toString()); } }); btn_dot=(Button) findViewById(R.id.btn_dot); btn_dot.setOnClickListener(new Button.OnClickListener(){ public void onClick(View v) { // TODO Auto-generated method stub if(clicked){ editText.setText(""); clicked=false; text.setLength(0); } if(editText.getText().toString().indexOf(".")==-1){//已经有.了 if(text.length()==0){ text.append("0."); }else{ text.append("."); } editText.setText(text.toString()); } } }); btn_add=(Button) findViewById(R.id.btn_add); btn_add.setOnClickListener(new Button.OnClickListener(){ public void onClick(View v) { // TODO Auto-generated method stub number_1=editText.getText().toString(); style=1; clicked=true; } }); btn_sub=(Button) findViewById(R.id.btn_sub); btn_sub.setOnClickListener(new Button.OnClickListener(){ public void onClick(View v) { // TODO Auto-generated method stub number_1=editText.getText().toString(); style=2; clicked=true; } }); btn_mul=(Button) findViewById(R.id.btn_mul); btn_mul.setOnClickListener(new Button.OnClickListener(){ public void onClick(View v) { // TODO Auto-generated method stub number_1=editText.getText().toString(); style=3; clicked=true; } }); btn_div=(Button) findViewById(R.id.btn_div); btn_div.setOnClickListener(new Button.OnClickListener(){ public void onClick(View v) { // TODO Auto-generated method stub number_1=editText.getText().toString(); style=4; clicked=true; } }); btn_eq=(Button) findViewById(R.id.btn_eq); btn_eq.setOnClickListener(new Button.OnClickListener(){ public void onClick(View v) { // TODO Auto-generated method stub number_2=editText.getText().toString(); if(number_1.equals("")&&number_2.equals("")){ return; } Double d1=Double.valueOf(number_1); Double d2=Double.valueOf(number_2); Double r=0.0;; switch (style) { case 1: r=d1+d2; break; case 2: r=d1-d2; break; case 3: r=d1*d2; break; case 4: r=d1/d2; break; } editText.setText(r.toString()); } }); btn_clear=(Button) findViewById(R.id.btn_clear); btn_clear.setOnClickListener(new Button.OnClickListener(){ public void onClick(View v) { // TODO Auto-generated method stub editText.setText(""); number_1=""; number_2=""; style=0; clicked=false; text.setLength(0); } }); } }
Android——Tabel布局,计算器的实现
http://blog.csdn.net/zhanghaidang/archive/2011/04/27/6366771.aspx
发表评论
-
http://www.android-studio.org/
2018-08-06 09:25 0http://www.android-studio.org/ ... -
SlidingDrawer源码
2012-03-14 10:13 3814我把SlidingDrawer源码提了出来,希望对1.5的朋友 ... -
简单拖动效果(带Cache,需要完善)
2011-10-13 15:10 4235如何去实现一个具有幻象的拖拽效果? 所谓”幻象“就是当你按下去 ... -
Android Activity中启动另一应用程序的方法,无需得到类名
2011-08-02 14:46 17276在网上搜索了一会相关的实现代码,发现所有的文章都说是需要包名和 ... -
java-universal-tween-engine,一个动画系统库
2011-06-29 09:21 6751http://code.google.com/p/java-u ... -
网上发现的一个android UI包
2011-05-24 12:21 4137里面有些UI和效果 -
android中使用代码启动其他程序
2011-04-29 23:15 5318你要訪問其他的程序,那麼這個程序要先裝載到模擬器或真機上面,因 ... -
listView背景问题以及限制editText字数以及如果想通知别人已经不能在写
2011-04-29 22:44 32171.在listView设置好背景之后 你如果点击空白出 你会发 ... -
Android键盘和触摸事件处理
2011-04-29 22:32 7012activity和VIEW都能接收触摸和按键,如果响应事件只需 ... -
Android的绘制文本对象FontMetrics的介绍及绘制文本
2011-04-29 22:29 11504一。Android绘制文本对象FontMetrics介绍 ... -
Android View 拖动&插入
2011-04-29 22:20 3554View 拖动&插入 即: 支持 拖动图标 然后 ... -
使TextView文本可以水平和垂直滚动
2011-04-29 21:59 14441在做一个小的电子书程序,要求电子书具有放大缩小的功能,所以肯定 ... -
ArrayAdapter源码
2011-04-29 12:29 6311看看人家怎么写的。 /* * Copyright (C ... -
Android下获取开机时间
2011-04-02 21:51 6239找了一圈没发现能得到开机启动时间资料,于是乎突发奇想,得到了解 ... -
AutoCompleteTextView连接到数据库
2011-03-30 20:49 4740AutoCompleteTextView可以根据输入 ... -
改变屏幕Brightness(亮度)
2011-03-30 12:48 4610http://www.eoeandroid.com/forum ... -
android 拖拽图片&拖动浮动按钮到处跑
2011-02-24 20:55 31786来自老外: import android.app.Acti ... -
拖动一个控件在另一个控件(layout)上,并固定位置在几个位置显示
2011-02-24 20:51 5903实现效果: 鼠标拖动btn SSS,SSS在水平的layo ... -
Handler与Message类,实现n秒后无操作自动消失功能
2011-02-24 20:45 4652实现功能:某控件不操作10秒后,自动消失。如照相机变焦条出现后 ... -
带删除按钮的ListView
2011-02-24 10:33 6158不用说了,上图先: import java.util.A ...
相关推荐
这个项目不仅涵盖了基础的Android编程概念,还展示了如何实现用户界面(UI)以及处理用户输入。让我们详细了解一下这个“Android开发的简易计算器”项目所涉及的知识点。 首先,Android开发的核心是Java或Kotlin...
以上就是创建一个Android简单计算器应用的主要步骤和涉及的技术点。通过这个项目,开发者不仅可以掌握Android的基本开发流程,还能加深对Android组件和用户交互的理解。在实践中,还可以进一步优化用户体验,比如...
在Android开发中,创建一个简单的计算器应用是一项常见的实践任务,对于初学者来说是很好的学习项目。这个项目基于“mars老师”的视频教程进行了扩展,具备基本的加、减、乘、除运算功能。以下是对这个计算器代码...
在这个名为"Android整数乘法计算器"的学习项目中,我们将专注于如何使用Intent来理解Activity的基本交互。 首先,Activity是Android应用中的基本单元,它代表了用户界面的一个屏幕。当用户与手机屏幕上的按钮、...
本项目是一个基于Eclipse的简单计算器应用,它展示了如何在Android环境中创建用户界面和实现基本的计算逻辑。 首先,我们要理解Android应用的基本架构。一个Android应用通常由多个组件构成,如Activity、Service、...
【Android简单的计算器】 在Android平台上开发一个简单的计算器应用,涉及到的知识点主要涵盖以下几个方面: 1. **Android基础知识**:首先,你需要对Android的基本架构、组件和生命周期有清晰的理解。这包括...
总的来说,这个"Android 自己写的简单计算器"项目涵盖了Android应用开发的基础,包括UI设计、事件处理、自定义逻辑等多个方面,是学习Android开发的良好起点。通过实践这个项目,你将对Android应用的开发流程有更...
下面将详细讲解如何利用Android Studio来创建一个简单的计算器。 首先,我们需要创建一个新的Android项目。打开Android Studio,选择"Start a new Android Studio project",在向导中设置项目的名称(例如...
总的来说,开发一个简单的Android加法计算器涵盖了Android应用开发的基础知识,包括使用Android Studio创建项目、设计布局、处理用户交互、编写计算逻辑以及调试应用。这些技能是进一步深入Android开发的基础。随着...
在Android平台上开发一个简单的计算器应用是一项基础而实用的任务,它能帮助我们理解Android应用程序的基本架构、UI设计以及事件处理机制。下面将详细讲解这个过程,包括主要涉及的技术点和步骤。 首先,Android...
在Android平台上,开发一个简易的计算器程序是许多初学者入门的首选项目,因为这涉及到基本的用户界面构建和逻辑处理。在这个程序中,我们主要利用了Android的两大核心组件:Activity和Intent,来实现功能。 首先,...
在Android平台上开发一个简单的计算器应用是一项基础而实用的任务,它能帮助我们理解Android应用程序的基本架构、用户界面设计以及事件处理机制。在这个项目中,我们将深入探讨如何使用Eclipse IDE来创建一个基本的...
在Android开发中,数据持久化也是一个关键概念,但在这个简单的计算器应用中,由于没有保存历史记录或用户设置的需求,我们可能看不到这方面的代码。 此外,为了使应用运行在不同的设备上,开发者需要考虑适配问题...
在本示例中,我们将讨论如何使用线性布局来实现一个简单的计算器界面。这个计算器界面包含一个输入框和多个按钮,这些元素通过线性布局组织,形成清晰的网格结构。 首先,XML文件的开头声明了编码格式为UTF-8,并...
《Android可编程计算器详解》 在移动设备领域,Android操作系统以其开源、自由度高和丰富的应用生态而广受开发者和用户喜爱。其中,一个有趣的项目是构建一款“Android可编程计算器”。这款计算器不仅具备基本的四...
今天,我们将详细介绍如何使用 Android Studio 实现一个简易计算器,使用表格布局 TableLayout 实现用户界面。 Android Studio 简介 Android Studio 是 Google 官方推出的 Android 应用程序开发环境,于 2013 年...
在Android平台上,构建一个计算器应用是一项基础且重要的任务,它能帮助开发者理解用户界面的创建、事件处理以及基本的计算逻辑。本项目“Android简单代码实现的Android计算器源码”提供了一个实现这一功能的示例,...
开发者需要使用Android Studio提供的布局工具来设计计算器的界面,包括按钮、显示区域等组件。按钮的点击事件需要与计算逻辑关联,使得用户输入的每个数字和运算符都能正确触发相应的操作。 此外,还需要考虑错误...
【Android简单计算器计算机项目】 该项目是一个基于Android平台的简易计算器应用,旨在帮助用户进行基本的数学运算,包括加、减、乘、除等操作。它为开发者提供了学习Android应用程序开发和用户界面设计的良好实践...