• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
一蓑烟雨
C/C++,Linux,语音技术
博客园    首页    新随笔    联系   管理    订阅  订阅
深入浅出Android:增加对话框功能(BMI)

1、strings.xml

 1 <?xml version="1.0" encoding="utf-8"?>
 2 <resources>
 3 
 4     <string name="app_name">BMI</string>
 5         <string name="height">身高(cm)</string>
 6         <string name="weight">体重(kg)</string>
 7         <string name="bmi_btn">计算BMI值</string>
 8         <string name="bmi_result">你的BMI值是</string>
 9         <string name="about_title">关于Android BMI</string>
10         <string name="about_msg">Android BMI Calc\n
11             作者 lovemu\n\n
12             lovemu+android[at]gmail.com</string>
13         <string name="ok_label">确认</string>
14     <string name="hello_world">Hello world!</string>
15     <string name="menu_settings">Settings</string>
16 
17 </resources>

2、MainActivity.java

 1 package example.bmi;
 2 
 3 import java.text.DecimalFormat;
 4 
 5 import android.os.Bundle;
 6 import android.app.Activity;
 7 import android.app.AlertDialog;
 8 import android.content.DialogInterface;
 9 import android.view.Menu;
10 import android.view.View;
11 import android.view.View.OnClickListener;
12 import android.widget.Button;
13 import android.widget.EditText;
14 import android.widget.TextView;
15 
16 public class MainActivity extends Activity {
17 
18     @Override
19     protected void onCreate(Bundle savedInstanceState) {
20         super.onCreate(savedInstanceState);
21         setContentView(R.layout.activity_main);
22         
23         findViews();
24         setListensers();
25     }
26     private Button button_calc;
27     private EditText field_height;
28     private EditText field_weight;
29     private TextView view_result;
30     private TextView view_suggest;
31     private void findViews()
32     {
33         button_calc=(Button)findViewById(R.id.submit);
34         field_height=(EditText)findViewById(R.id.height);
35         field_weight=(EditText)findViewById(R.id.weight);
36         view_result=(TextView)findViewById(R.id.result);
37         view_suggest=(TextView)findViewById(R.id.suggest);
38     }
39     private void setListensers()
40     {
41         button_calc.setOnClickListener(calcBMI);
42     }
43     private Button.OnClickListener calcBMI=new Button.OnClickListener()
44     {
45         public void onClick(View v)
46         {
47             DecimalFormat nf=new DecimalFormat("0.00");
48             double height=Double.parseDouble(field_height.getText().toString())/100;
49             double weight=Double.parseDouble(field_weight.getText().toString());
50             double BMI=weight/(height*height);
51             view_result.setText(getText(R.string.bmi_result)+nf.format(BMI));
52             //give health advice
53             if(BMI>25)
54             {
55                 view_suggest.setText(R.string.advice_heavy);
56             }
57             else if(BMI<20)
58             {
59                 view_suggest.setText(R.string.advice_light);
60                }
61             else
62             {
63                 view_suggest.setText(R.string.advice_average);
64             }
65             openOptionsDialog();
66         }    
67     };
68     private void openOptionsDialog()
69     {
70         new AlertDialog.Builder(MainActivity.this)
71             .setTitle(R.string.about_title)
72             .setMessage(R.string.about_msg)
73             .setPositiveButton(R.string.ok_label,
74                     new DialogInterface.OnClickListener() {
75                 public void onClick(
76                         DialogInterface dialoginterface,int i){
77                    }
78                 
79                 })
80             .show();
81     }
82 
83     @Override
84     public boolean onCreateOptionsMenu(Menu menu) {
85         // Inflate the menu; this adds items to the action bar if it is present.
86         getMenuInflater().inflate(R.menu.activity_main, menu);
87         return true;
88     }
89     
90 }
posted on 2012-11-29 17:21  lovemu  阅读(431)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3