我们来讲一个计算器的Android的应用实例,其中包含了布局嵌套、菜单以及提示框的运用。下面的这个程序的效果图。

 

    根据看到的结果,我们可以将这个布局分为两部分,第一部分就是上面一行的,第二部分就是下面的的按钮部分,它也是一个。这两个放在一个中,这就用到了布局的嵌套。

    下面是布局文件的代码:

     activity_main.xml

      

                                                            


 

     在上边的程序中还运用到了菜单。这个事件的设计用到了menu文件夹下的main.mxl,我们在main.xml中设计菜单,下面是代码:

     main.xml

  

            


     string.xml

<?xml version="1.0" encoding="utf-8"?>    computer    Settings    =    +    -    *    /    关于    退出


     关于提示框的设计比较简单,我们只需要在实体类中手写代码就行。

 

     实体类computer

package bzu.aa.medole;import java.io.WriteAbortedException;public class computer {public static double add(double num1,double num2){return num1 + num2;}public static double sub(double num1,double num2){return num1 - num2;}public static double cheng(double num1,double num2){return num1 * num2;}public static double chu(double num1,double num2) throws ArithmeticException{return num1 / num2;}}


        MainActivity.java

package com.example.computer;import bzu.aa.medole.*;import android.os.Bundle;import android.app.Activity;import android.app.AlertDialog;import android.view.Menu;import android.view.MenuItem;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.EditText;import android.widget.TextView;public class MainActivity extends Activity {private EditText op1;private TextView op;private EditText op2;private EditText result;;private Button add;private Button sub;private Button cheng;private Button chu;    @Override    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        show();    }    public void show(){    op1 = (EditText)this.findViewById(R.id.op1);    op = (TextView)this.findViewById(R.id.op);    op2 = (EditText)this.findViewById(R.id.op2);    result = (EditText)this.findViewById(R.id.result);        add = (Button)this.findViewById(R.id.add);    add.setOnClickListener(new click());        sub = (Button)this.findViewById(R.id.sub);    sub.setOnClickListener(new click());        cheng = (Button)this.findViewById(R.id.cheng);    cheng.setOnClickListener(new click());        chu = (Button)this.findViewById(R.id.chu);    chu.setOnClickListener(new click());    }        public class click implements OnClickListener{    public void onClick(View v) {    String a = op1.getText().toString();    String b = op2.getText().toString();        double num1 = Double.parseDouble(a);    double num2 = Double.parseDouble(b);    double num = 0.0;    switch(v.getId()){    case R.id.add:    op.setText(" + ");    num = computer.add(num1,num2);    break;    case R.id.sub:    op.setText(" - ");    num = computer.sub(num1,num2);    break;    case R.id.cheng:    op.setText(" * ");    num = computer.cheng(num1,num2);    break;    case R.id.chu:    op.setText(" / ");    if(num2 == 0){        result.setText("除数不能为0");    }else{num = computer.chu(num1,num2);    }    break;    }        if(!(num2 == 0 && op.getText().equals(" / "))){    result.setText(num +"");    }    }    }    @Override    public boolean onCreateOptionsMenu(Menu menu) {        // Inflate the menu; this adds items to the action bar if it is present.        getMenuInflater().inflate(R.menu.main, menu);        return true;    }    public boolean onOptionsItemSelected(MenuItem item){    int item_id = item.getItemId();        switch(item_id){    case R.id.about1:    AlertDialog.Builder adb = new AlertDialog.Builder(this);    adb.setTitle("关于").setMessage("作者\n姓名:郝高明").create().show();    break;    case R.id.exit1:    MainActivity.this.finish();    break;    }    return true;    }}

 

按钮的监听事件已经在前面提到过了,这里就重点提一下菜单的监听事件。菜单的监听要重写两个方法,一个是public boolean onCreateOptionsMenu(Menu menu){},还有一个是public boolean onOptionsItemSelected(MenuItem item){},这两个方法是必不可少的,onCreateOptionsMenu()方法是获取菜单的布局的方法,就像我们要获取Acivity的布局所用到的protected void onCreate(Bundle savedInstanceState){}方法是一样的;onOptionsItemSelected()通过这个方法,我们就可以监听菜单的事件,通过获取id,判断所取得id值,就可以实现相应的操作。

 

提示框的运用就是先创建一个AlertDialog的实例,传参当前Activity对象,通过实例调用.setTitle()、.setMessage()、.create()、.show()等方法,这样就可以显示一个简单的提示框了。

 

当然你可以把它做的更“美丽”一点,加油!

更多相关文章

  1. Android应用开发笔记(7):构建自己的Android账户与内容同步机制,例
  2. Android(安卓)屏蔽Power键 Home键
  3. Android(安卓)获取所有联系人(两种方法)
  4. Android中广告渠道SDK接入方法
  5. Android(安卓)8.0 以上获取设备序列号, Android(安卓)4.4 - Andro
  6. Android(安卓)ViewPager 如何判断当前页面是从前一页还是后一页
  7. Android(安卓)开发者 for Flutter (2)如何布局? XML layout 文件跑
  8. Android闹钟拓展版【安卓闹钟可换壁纸版】
  9. Android打造通用的下拉刷新组件

随机推荐

  1. android图片压缩 —— 2
  2. 其他网站的好文章
  3. android 生成二维码
  4. android如何使用menu键
  5. Android(安卓)TextView限定行数最大值,点
  6. android的ndk修改app_platform的方法,亲测
  7. Android.API.Context.getFilesDir()
  8. Android库项目的导出及其引用资源
  9. android 屏幕方向控制
  10. Android(安卓)studio安装Genymotion插件