深入浅出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 }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值