下面是一个简单的计算标准体重的实例,选择自己的性别,再输入自己的身高,点击Button就能在Toast显示自己的标准体重,看看自己的体重有没有符合标准哦。
计算标准体重的方法:
男性:(身高cm-80)×70﹪=标准体重 女性:(身高cm-70)×60﹪=标准体重
BMIActivity.java
- package com.lingdududu.bmi;
- import java.text.DecimalFormat;
- import java.text.NumberFormat;
- 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.RadioButton;
- import android.widget.Toast;
- /*
- * @author lingdududu * 该程序的功能是用户选择自己的性别和输入自己的身高,然后点击按钮,就能在Toast显示出自己的标准体重
- */
- public class BMIActivity extends Activity {
- /** Called when the activity is first created. */
- private Button countButton;
- private EditText heighText;
- private RadioButton maleBtn, femaleBtn;
- String sex = "";
- double height;
- @Override
- public void onCreate(Bundle savedInstanceState) {
- super.onCreate(savedInstanceState);
- setContentView(R.layout.main);
- //调用创建视图的函数
- creadView();
- //调用性别选择的函数
- sexChoose();
- //调用Button注册监听器的函数
- setListener();
- }
- //响应Button事件的函数
- private void setListener() {
- countButton.setOnClickListener(countListner);
- }
- private OnClickListener countListner = new OnClickListener() {
- @Override
- public void onClick(View v) {
- // TODO Auto-generated method stub
- Toast.makeText(BMIActivity.this, "你是一位"+sexChoose()+"\n"
- +"你的身高为"+Double.parseDouble(heighText.getText().toString())+"cm"
- +"\n你的标准体重为"+getWeight(sexChoose(), height)+"kg", Toast.LENGTH_LONG)
- .show();
- }
- };
- //性别选择的函数
- private String sexChoose(){
- if (maleBtn.isChecked()) {
- sex = "男性";
- }
- else if(femaleBtn.isChecked()){
- sex = "女性";
- }
- return sex;
- }
- //创建视图的函数
- public void creadView(){
- //txt=(TextView)findViewById(R.id.txt);
- countButton=(Button)findViewById(R.id.btn);
- heighText=(EditText)findViewById(R.id.etx);
- maleBtn=(RadioButton)findViewById(R.id.male);
- femaleBtn=(RadioButton)findViewById(R.id.female);
- //txt.setBackgroundResource(R.drawable.bg);
- }
- //标准体重格式化输出的函数
- private String format(double num) {
- NumberFormat formatter = new DecimalFormat("0.00");
- String str = formatter.format(num);
- return str;
- }
- //得到标准体重的函数
- private String getWeight(String sex, double height) {
- height = Double.parseDouble(heighText.getText().toString());
- String weight = "";
- if (sex.equals("男性")) {
- weight =format((height - 80) * 0.7);
- }
- else {
- weight = format((height - 70) * 0.6);
- }
- return weight;
- }
- }
main.xml
- <?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"
- android:background="@drawable/pic"
- >
- <TextView
- android:id="@+id/txt"
- android:layout_width="fill_parent"
- android:layout_height="wrap_content"
- android:gravity="center"
- android:text="@string/hello"
- android:textSize="16px"
- />
- <TextView
- android:layout_width="fill_parent"
- android:layout_height="wrap_content"
- android:text="@string/sex"
- />
- <RadioGroup
- android:layout_width="fill_parent"
- android:layout_height="wrap_content"
- android:orientation="horizontal"
- >
- <RadioButton
- android:id="@+id/male"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:text="男"
- />
- <RadioButton
- android:id="@+id/female"
- android:layout_width="wrap_content"
- android:layout_height="wrap_content"
- android:text="女"
- />
- </RadioGroup>
- <TextView
- android:layout_width="fill_parent"
- android:layout_height="26px"
- android:text="@string/heigh"
- />
- <EditText
- android:id="@+id/etx"
- android:layout_width="fill_parent"
- android:layout_height="wrap_content"
- />
- <Button
- android:id="@+id/btn"
- android:layout_width="fill_parent"
- android:layout_height="wrap_content"
- android:text="@string/count"
- />
- </LinearLayout>
效果图:
本文转自 lingdududu 51CTO博客,原文链接:
http://blog.51cto.com/liangruijun/700077