效果:
步骤
1、布局方式:网格布局(GridLayout)
6行4列,以、二两行是一行一列,其余四行是一行四列。
得到xml文件
main.xml
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/image"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".MainActivity" >
<GridLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:rowCount="6"
android:columnCount="4"
>
<EditText
android:id="@+id/tvResult"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_row="0"
android:layout_column="0"
android:layout_columnSpan="4"
android:textSize="25dp"
android:gravity="right"/>
<Button
android:id="@+id/btclean"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_row="1"
android:layout_column="0"
android:layout_columnSpan="4"
android:text="清除"
/>
<Button
android:id="@+id/bt7"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_row="2"
android:layout_column="0"
android:text="7"
/>
<Button
android:id="@+id/bt8"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_row="2"
android:layout_column="1"
android:text="8"
/>
<Button
android:id="@+id/bt9"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_row="2"
android:layout_column="2"
android:text="9"
/>
<Button
android:id="@+id/btDive"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_row="2"
android:layout_column="3"
android:text="%"
android:layout_gravity="fill_horizontal"
/>
<Button
android:id="@+id/bt4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_row="3"
android:layout_column="0"
android:text="4"
/>
<Button
android:id="@+id/bt5"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_row="3"
android:layout_column="1"
android:text="5"
/>
<Button
android:id="@+id/bt6"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_row="3"
android:layout_column="2"
android:text="6"
/>
<Button
android:id="@+id/btMulti"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_row="3"
android:layout_column="3"
android:text="*"
android:layout_gravity="fill_horizontal"
/>
<Button
android:id="@+id/bt1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_row="4"
android:layout_column="0"
android:text="1"
/>
<Button
android:id="@+id/bt2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_row="4"
android:layout_column="1"
android:text="2"
/>
<Button
android:id="@+id/bt3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_row="4"
android:layout_column="2"
android:text="3"
/>
<Button
android:id="@+id/btMinu"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_row="4"
android:layout_column="3"
android:text="-"
android:layout_gravity="fill_horizontal"
/>
<Button
android:id="@+id/bt_"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_row="5"
android:layout_column="0"
android:text="."
/>
<Button
android:id="@+id/bt0"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_row="5"
android:layout_column="1"
android:text="0"
/>
<Button
android:id="@+id/btEqual"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_row="5"
android:layout_column="2"
android:text="="
/>
<Button
android:id="@+id/btAdd"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_row="5"
android:layout_column="3"
android:text="+"
android:layout_gravity="fill_horizontal"
/>
</GridLayout>
</RelativeLayout>
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/image"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".MainActivity" >
<GridLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:rowCount="6"
android:columnCount="4"
>
<EditText
android:id="@+id/tvResult"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_row="0"
android:layout_column="0"
android:layout_columnSpan="4"
android:textSize="25dp"
android:gravity="right"/>
<Button
android:id="@+id/btclean"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_row="1"
android:layout_column="0"
android:layout_columnSpan="4"
android:text="清除"
/>
<Button
android:id="@+id/bt7"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_row="2"
android:layout_column="0"
android:text="7"
/>
<Button
android:id="@+id/bt8"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_row="2"
android:layout_column="1"
android:text="8"
/>
<Button
android:id="@+id/bt9"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_row="2"
android:layout_column="2"
android:text="9"
/>
<Button
android:id="@+id/btDive"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_row="2"
android:layout_column="3"
android:text="%"
android:layout_gravity="fill_horizontal"
/>
<Button
android:id="@+id/bt4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_row="3"
android:layout_column="0"
android:text="4"
/>
<Button
android:id="@+id/bt5"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_row="3"
android:layout_column="1"
android:text="5"
/>
<Button
android:id="@+id/bt6"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_row="3"
android:layout_column="2"
android:text="6"
/>
<Button
android:id="@+id/btMulti"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_row="3"
android:layout_column="3"
android:text="*"
android:layout_gravity="fill_horizontal"
/>
<Button
android:id="@+id/bt1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_row="4"
android:layout_column="0"
android:text="1"
/>
<Button
android:id="@+id/bt2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_row="4"
android:layout_column="1"
android:text="2"
/>
<Button
android:id="@+id/bt3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_row="4"
android:layout_column="2"
android:text="3"
/>
<Button
android:id="@+id/btMinu"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_row="4"
android:layout_column="3"
android:text="-"
android:layout_gravity="fill_horizontal"
/>
<Button
android:id="@+id/bt_"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_row="5"
android:layout_column="0"
android:text="."
/>
<Button
android:id="@+id/bt0"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_row="5"
android:layout_column="1"
android:text="0"
/>
<Button
android:id="@+id/btEqual"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_row="5"
android:layout_column="2"
android:text="="
/>
<Button
android:id="@+id/btAdd"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_row="5"
android:layout_column="3"
android:text="+"
android:layout_gravity="fill_horizontal"
/>
</GridLayout>
</RelativeLayout>
demin.xml
<resources> <!-- Default screen margins, per the Android Design guidelines. --> <dimen name="activity_horizontal_margin">16dp</dimen> <dimen name="activity_vertical_margin">16dp</dimen> </resources>
2、给button按钮注册监听器,三种类别:a,数字和小数点;b,加减乘除;c,等于号
Activity.java
package android.test;
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
public class Laborary2Activity extends Activity {
/** Called when the activity is first created. */
EditText displayText=null;
double num1=0,num2=0,result=0;
int calType=0;
boolean flag=false;
Button bt0,bt1,bt2,bt3,bt4,bt5,bt6,bt7,bt8,bt9,bt_;
Button btEqual,btAdd,btMinu,btMulti,btDive,btclean;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
init();
}
private void init() {
// TODO Auto-generated method stub
bt0=(Button)findViewById(R.id.bt0);
bt1=(Button)findViewById(R.id.bt1);
bt2=(Button)findViewById(R.id.bt2);
bt3=(Button)findViewById(R.id.bt3);
bt4=(Button)findViewById(R.id.bt4);
bt5=(Button)findViewById(R.id.bt5);
bt6=(Button)findViewById(R.id.bt6);
bt7=(Button)findViewById(R.id.bt7);
bt8=(Button)findViewById(R.id.bt8);
bt9=(Button)findViewById(R.id.bt9);
bt_=(Button)findViewById(R.id.bt_);
btEqual=(Button)findViewById(R.id.btEqual);
btAdd=(Button)findViewById(R.id.btAdd);
btMinu=(Button)findViewById(R.id.btMinu);
btMulti=(Button)findViewById(R.id.btMulti);
btDive=(Button)findViewById(R.id.btDive);
displayText=(EditText)findViewById(R.id.tvResult);
btclean=(Button)findViewById(R.id.btclean);
btclean.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
displayText.setText(null);
}
});
btAdd.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
CharSequence temp=displayText.getText();
if(temp.equals(null))
return;
String myString=temp.toString();
if(myString.equals("")||myString==null){
Toast.makeText(Laborary2Activity.this, "请输入被加数", Toast.LENGTH_LONG).show();
}
else{
num1=Double.parseDouble(myString);
calType=1;
displayText.setText(null);
}
}});
btMinu.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
CharSequence temp=displayText.getText();
if(temp.equals(null))
return;
String myString=temp.toString();
if(myString.equals("")||myString==null){
Toast.makeText(Laborary2Activity.this, "请输入被减数", Toast.LENGTH_LONG).show();
}else {num1=Double.parseDouble(myString);
calType=2;
displayText.setText(null);
}
}});
btMulti.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
CharSequence temp=displayText.getText();
if(temp.equals(null))
return;
String myString=temp.toString();
if(myString.equals("")||myString==null){
Toast.makeText(Laborary2Activity.this, "请输入乘数", Toast.LENGTH_LONG).show();
}
else
{
num1=Double.parseDouble(myString);
calType=3;
displayText.setText(null);
}
}});
btDive.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
CharSequence temp=displayText.getText();
if(temp.equals(null))
return;
String myString=temp.toString();
if(myString.equals("")||myString==null){
Toast.makeText(Laborary2Activity.this, "请输入被除数", Toast.LENGTH_LONG).show();
}
else
{num1=Double.parseDouble(myString);
calType=4;
displayText.setText(null);
}
}});
btEqual.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
CharSequence temp=displayText.getText();
if(temp.equals(null))return;
String myString=temp.toString();
if(myString.equals("")||myString==null){
Toast.makeText(Laborary2Activity.this, "你要计算什么?", Toast.LENGTH_LONG).show();
}
else{
num2=Double.parseDouble(myString);
switch(calType){
case 1:
{
result=num1+num2;
break;
}
case 2:
{
result=num1-num2;
break;
}
case 3:
{
result=num1*num2;
break;
}
case 4:
{
result=num1/num2;
break;
}
default:
{
result=0;
break;
}
}
String tempResult=String.valueOf(result);
displayText.setText(tempResult);
flag=true;
}
}});
bt_.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
if(flag){
displayText.setText(null);
flag=false;
}
CharSequence temp=displayText.getText();
String myString=temp.toString();
myString=myString+".";
displayText.setText(myString);
}
});
bt9.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
if(flag){
displayText.setText(null);
flag=false;
}
CharSequence temp=displayText.getText();
String myString=temp.toString();
myString=myString+"9";
displayText.setText(myString);
}
});
bt8.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
if(flag){
displayText.setText(null);
flag=false;
}
CharSequence temp=displayText.getText();
String myString=temp.toString();
myString=myString+"8";
displayText.setText(myString);
}
});
bt7.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
if(flag){
displayText.setText(null);
flag=false;
}
CharSequence temp=displayText.getText();
String myString=temp.toString();
myString=myString+"7";
displayText.setText(myString);
}
});
bt6.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
if(flag){
displayText.setText(null);
flag=false;
}
CharSequence temp=displayText.getText();
String myString=temp.toString();
myString=myString+"6";
displayText.setText(myString);
}
});
bt5.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
if(flag){
displayText.setText(null);
flag=false;
}
CharSequence temp=displayText.getText();
String myString=temp.toString();
myString=myString+"5";
displayText.setText(myString);
}
});
bt4.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
if(flag){
displayText.setText(null);
flag=false;
}
CharSequence temp=displayText.getText();
String myString=temp.toString();
myString=myString+"4";
displayText.setText(myString);
}
});
bt3.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
if(flag){
displayText.setText(null);
flag=false;
}
CharSequence temp=displayText.getText();
String myString=temp.toString();
myString=myString+"3";
displayText.setText(myString);
}
});
bt2.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
if(flag){
displayText.setText(null);
flag=false;
}
CharSequence temp=displayText.getText();
String myString=temp.toString();
myString=myString+"2";
displayText.setText(myString);
}
});
bt1.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
if(flag){
displayText.setText(null);
flag=false;
}
CharSequence temp=displayText.getText();
String myString=temp.toString();
myString=myString+"1";
displayText.setText(myString);
}
});
bt0.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
if(flag){
displayText.setText(null);
flag=false;
}
CharSequence temp=displayText.getText();
String myString=temp.toString();
myString=myString+"0";
displayText.setText(myString);
}
});
}
}
import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.Toast;
public class Laborary2Activity extends Activity {
/** Called when the activity is first created. */
EditText displayText=null;
double num1=0,num2=0,result=0;
int calType=0;
boolean flag=false;
Button bt0,bt1,bt2,bt3,bt4,bt5,bt6,bt7,bt8,bt9,bt_;
Button btEqual,btAdd,btMinu,btMulti,btDive,btclean;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
init();
}
private void init() {
// TODO Auto-generated method stub
bt0=(Button)findViewById(R.id.bt0);
bt1=(Button)findViewById(R.id.bt1);
bt2=(Button)findViewById(R.id.bt2);
bt3=(Button)findViewById(R.id.bt3);
bt4=(Button)findViewById(R.id.bt4);
bt5=(Button)findViewById(R.id.bt5);
bt6=(Button)findViewById(R.id.bt6);
bt7=(Button)findViewById(R.id.bt7);
bt8=(Button)findViewById(R.id.bt8);
bt9=(Button)findViewById(R.id.bt9);
bt_=(Button)findViewById(R.id.bt_);
btEqual=(Button)findViewById(R.id.btEqual);
btAdd=(Button)findViewById(R.id.btAdd);
btMinu=(Button)findViewById(R.id.btMinu);
btMulti=(Button)findViewById(R.id.btMulti);
btDive=(Button)findViewById(R.id.btDive);
displayText=(EditText)findViewById(R.id.tvResult);
btclean=(Button)findViewById(R.id.btclean);
btclean.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
displayText.setText(null);
}
});
btAdd.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
CharSequence temp=displayText.getText();
if(temp.equals(null))
return;
String myString=temp.toString();
if(myString.equals("")||myString==null){
Toast.makeText(Laborary2Activity.this, "请输入被加数", Toast.LENGTH_LONG).show();
}
else{
num1=Double.parseDouble(myString);
calType=1;
displayText.setText(null);
}
}});
btMinu.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
CharSequence temp=displayText.getText();
if(temp.equals(null))
return;
String myString=temp.toString();
if(myString.equals("")||myString==null){
Toast.makeText(Laborary2Activity.this, "请输入被减数", Toast.LENGTH_LONG).show();
}else {num1=Double.parseDouble(myString);
calType=2;
displayText.setText(null);
}
}});
btMulti.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
CharSequence temp=displayText.getText();
if(temp.equals(null))
return;
String myString=temp.toString();
if(myString.equals("")||myString==null){
Toast.makeText(Laborary2Activity.this, "请输入乘数", Toast.LENGTH_LONG).show();
}
else
{
num1=Double.parseDouble(myString);
calType=3;
displayText.setText(null);
}
}});
btDive.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
CharSequence temp=displayText.getText();
if(temp.equals(null))
return;
String myString=temp.toString();
if(myString.equals("")||myString==null){
Toast.makeText(Laborary2Activity.this, "请输入被除数", Toast.LENGTH_LONG).show();
}
else
{num1=Double.parseDouble(myString);
calType=4;
displayText.setText(null);
}
}});
btEqual.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
CharSequence temp=displayText.getText();
if(temp.equals(null))return;
String myString=temp.toString();
if(myString.equals("")||myString==null){
Toast.makeText(Laborary2Activity.this, "你要计算什么?", Toast.LENGTH_LONG).show();
}
else{
num2=Double.parseDouble(myString);
switch(calType){
case 1:
{
result=num1+num2;
break;
}
case 2:
{
result=num1-num2;
break;
}
case 3:
{
result=num1*num2;
break;
}
case 4:
{
result=num1/num2;
break;
}
default:
{
result=0;
break;
}
}
String tempResult=String.valueOf(result);
displayText.setText(tempResult);
flag=true;
}
}});
bt_.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
if(flag){
displayText.setText(null);
flag=false;
}
CharSequence temp=displayText.getText();
String myString=temp.toString();
myString=myString+".";
displayText.setText(myString);
}
});
bt9.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
if(flag){
displayText.setText(null);
flag=false;
}
CharSequence temp=displayText.getText();
String myString=temp.toString();
myString=myString+"9";
displayText.setText(myString);
}
});
bt8.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
if(flag){
displayText.setText(null);
flag=false;
}
CharSequence temp=displayText.getText();
String myString=temp.toString();
myString=myString+"8";
displayText.setText(myString);
}
});
bt7.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
if(flag){
displayText.setText(null);
flag=false;
}
CharSequence temp=displayText.getText();
String myString=temp.toString();
myString=myString+"7";
displayText.setText(myString);
}
});
bt6.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
if(flag){
displayText.setText(null);
flag=false;
}
CharSequence temp=displayText.getText();
String myString=temp.toString();
myString=myString+"6";
displayText.setText(myString);
}
});
bt5.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
if(flag){
displayText.setText(null);
flag=false;
}
CharSequence temp=displayText.getText();
String myString=temp.toString();
myString=myString+"5";
displayText.setText(myString);
}
});
bt4.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
if(flag){
displayText.setText(null);
flag=false;
}
CharSequence temp=displayText.getText();
String myString=temp.toString();
myString=myString+"4";
displayText.setText(myString);
}
});
bt3.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
if(flag){
displayText.setText(null);
flag=false;
}
CharSequence temp=displayText.getText();
String myString=temp.toString();
myString=myString+"3";
displayText.setText(myString);
}
});
bt2.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
if(flag){
displayText.setText(null);
flag=false;
}
CharSequence temp=displayText.getText();
String myString=temp.toString();
myString=myString+"2";
displayText.setText(myString);
}
});
bt1.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
if(flag){
displayText.setText(null);
flag=false;
}
CharSequence temp=displayText.getText();
String myString=temp.toString();
myString=myString+"1";
displayText.setText(myString);
}
});
bt0.setOnClickListener(new OnClickListener(){
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
if(flag){
displayText.setText(null);
flag=false;
}
CharSequence temp=displayText.getText();
String myString=temp.toString();
myString=myString+"0";
displayText.setText(myString);
}
});
}
}
相关推荐
以下是对这个“android 编写的计算器”项目的详细解析: 1. **用户界面(UI)设计**:计算器的UI通常由一系列按钮组成,包括数字键(0-9)、运算符键(+、-、*、/、%等)、等于号(=)、清除键(C)等。开发者会...
在Android平台上开发一款计算器应用是学习移动应用编程的常见实践项目。这个项目涉及到许多关键的Android编程知识点,包括用户界面(UI)设计、事件监听、数据处理和逻辑控制。下面,我们将深入探讨这些主题。 首先...
【Android编写的计算器】是一个基于Android平台的个人项目,它展示了如何在移动设备上实现一个功能齐全的计算器应用。这个项目的核心在于理解Android的布局管理器以及如何利用Java语言来处理用户交互。在这个计算器...
"Android开发人品计算器"是一个有趣的项目,它旨在利用Android开发环境和编程技术,创建一个能够评估用户“人品”的应用程序。这个项目不仅能够帮助开发者提升Android编程技能,还能够展示如何将趣味性融入到应用...
在这个简易计算器项目中,主要涉及到的是Activity,它是用户界面和交互的核心。Activity负责显示UI,并响应用户的操作。 在Eclipse中,开发者会使用XML布局文件来设计用户界面。在这个案例中,计算器的UI可能包含...
首先,从标题"android仿window计算器"来看,这个项目的目标是创建一个与Windows操作系统中计算器功能类似的Android应用程序。这要求开发者对两种操作系统的计算器有深入的理解,以便在Android平台上实现相同或相似的...
首先此项目是本人学校安卓开发的一次作业,用Android Studio开发一个简单的计算器,这个计算器正常的功能为带括号的加减乘除多项式计算! 界面展示 废话不多说先展示一下界面!(模仿了小米计算器),有两种方式添加...
总结起来,"Android——本息计算器"项目是一个综合运用Android开发技术、金融计算原理和用户交互设计的实例。它不仅展示了Android开发的基本流程,也涵盖了数学运算和数据处理在移动应用中的实际应用。通过分析和...
这个"安卓编写的计算器"项目是学习安卓开发的一个典型实例,涵盖了安卓应用的基础架构、UI设计、事件处理和异常处理等核心概念。通过实践这个项目,开发者可以深入理解安卓应用的开发流程,并提升编程技能。
【基于Android Studio 开发...以上就是基于Android Studio开发计算器代码的主要步骤和涉及的知识点,通过这个项目,开发者可以深入学习Android应用开发的基本流程和技巧,同时提升对Java编程和用户界面设计的理解。
在这个计算器项目中,每个计算器可能对应一个独立的`Activity`。`Intent`则用于在不同的`Activity`之间传递数据和启动新的操作。 3. **布局设计**:计算器的界面是由XML文件定义的,这些文件通常位于`res/layout`...
在本项目中,我们主要探讨如何使用Android Studio来创建一个具有精美用户界面(UI)的简易计算器应用。这个应用的设计灵感来源于小米手机内置的MIUI计算器,因此,它将具有直观且美观的布局,旨在提供良好的用户体验...
对于初学者来说,这是一个很好的起点,通过这个项目可以深入理解Android应用开发的流程,例如如何使用XML布局,如何编写Java代码来响应用户交互,以及如何调试和优化代码。在实践中,你可以尝试添加更复杂的计算功能...
其中,一个有趣的项目是构建一款“Android可编程计算器”。这款计算器不仅具备基本的四则运算功能,还允许用户编写简单的程序,实现更复杂的计算任务。本文将深入探讨这一项目的核心技术和实现细节。 首先,我们要...
在这个计算器项目中,XML文件描述了屏幕上的布局,包括数字和运算符按钮的排列,以及显示计算结果的文本框。 在XML布局文件中,我们可能会看到诸如`<Button>`和`<EditText>`这样的元素,分别代表按钮和文本输入框。...
标签“Android”提示我们这个项目是针对Android平台的,因此你需要对Android SDK、Android Studio(尽管这里提到的是Eclipse,但两者原理相似)和Android的开发工具链有一定的了解。 总的来说,这个Android计算器源...
在Android平台上开发BMI指数计算器项目,可以帮助用户了解自己的体重状况,是否处于正常、偏轻、偏重或肥胖的范围。本项目是针对Android 2.2版本设计,能在该版本及更高版本的系统上完美运行。 该项目的核心功能...
在Android平台上,开发一款计算器应用,无论是简单计算器...总之,开发Android的计算器应用,尤其是科学计算器,涵盖了Android基础、UI设计、事件处理、数学运算等多个方面,是学习Android开发和增强编程技能的好项目。
总结来说,"android 计算器"项目涵盖了Android开发中的多个重要知识点,包括XML布局设计、事件监听、数学运算、测试以及软件架构设计。通过这个项目,开发者不仅可以掌握Android开发的基本技能,还能锻炼解决问题和...
android studio计算器功能