BMI计算器介绍

身体质量指数(BMI,Body Mass Index)是国际上常用的衡量人体肥胖程度和是否健康的重要标准,主要用于统计分析。肥胖程度的判断不能采用体重的绝对值,它天然与身高有关。

这是用一个界面的BMI计算器

计算公式

体重指数BMI=体重/身高的平方(国际单位kg/㎡)
BMI=weight/height*height

参考标准

BMI 分类 中国参考标准
偏瘦 <18.5
正常 18.5~23.9
超重 ≥24
偏胖 24~26.9
肥胖 27~29.9
重度肥胖 ≥30

BMI界面设计
activity_main.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"xmlns:app="http://schemas.android.com/apk/res-auto"xmlns:tools="http://schemas.android.com/tools"android:id="@+id/content_main"android:layout_width="match_parent"android:layout_height="match_parent"android:orientation="vertical"app:layout_behavior="@string/appbar_scrolling_view_behavior"tools:showIn="@layout/activity_main"><TextViewandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:textSize="24sp"android:textColor="#03A9F4"android:text="   身高(米):" /><EditTextandroid:id="@+id/height"android:layout_width="match_parent"android:layout_height="wrap_content"android:hint="请输入身高:" /><TextViewandroid:layout_width="wrap_content"android:layout_height="wrap_content"android:textSize="24sp"android:textColor="#03A9F4"android:text="   体重(公斤):" /><EditTextandroid:id="@+id/weight"android:layout_width="match_parent"android:layout_height="wrap_content"android:hint="请输入体重:" /><TextViewandroid:id="@+id/Text1"android:layout_width="wrap_content"android:layout_height="wrap_content"android:textSize="24sp"android:textColor="#03A9F4"android:layout_margin="10dp"android:text="您的BMI为 :" /><TextViewandroid:id="@+id/Text2"android:layout_width="wrap_content"android:layout_height="wrap_content"android:textSize="24sp"android:textColor="#03A9F4" /><TextViewandroid:id="@+id/Text3"android:layout_width="wrap_content"android:layout_height="wrap_content"android:textSize="24sp"android:textColor="#03A9F4"android:layout_margin="10dp"android:text="身体状态 :" /><TextViewandroid:id="@+id/Text4"android:layout_width="wrap_content"android:layout_height="wrap_content"android:textSize="24sp"android:textColor="#03A9F4" /><Buttonandroid:id="@+id/button"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_gravity="center_horizontal"android:textSize="24sp"android:textColor="#03A9F4"android:layout_margin="30dp"android:text="计算体质指数" /><Buttonandroid:id="@+id/button2"android:layout_width="wrap_content"android:layout_height="wrap_content"android:layout_gravity="center_horizontal"android:textSize="24sp"android:textColor="#03A9F4"android:text="         清   除        " />
</LinearLayout>

我用的是线性布局管理器,简单介绍一些属性

android:textSize=“24sp” //设置字体大小
android:textColor="#03A9F4" //设置字体颜色
android:layout_margin=“30dp” //设置控件的外边距为30dp
android:layout_gravity=“center_horizontal” //设置控件水平居中

界面展示效果:

Main_Activity.java

package com.example.s18_2;  //项目包名import androidx.appcompat.app.AppCompatActivity;import android.os.Bundle;  //导包
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import java.text.DecimalFormat;public class MainActivity extends AppCompatActivity {Button button1, button2;EditText heightText, weightText;TextView BMIText, classificationText;@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.activity_main);   button1 = findViewById(R.id.button);button2 = findViewById(R.id.button2);heightText = findViewById(R.id.height);weightText = findViewById(R.id.weight);BMIText = findViewById(R.id.Text2);classificationText = findViewById(R.id.Text4);//计算结果按键button1.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {DecimalFormat nf = new DecimalFormat("0.00");  //保留两位小数点double weight, height, BMI;weight = Double.parseDouble(weightText.getText().toString());height = Double.parseDouble(heightText.getText().toString());BMI = weight / (height * height);   //计算公式BMIText.setText(nf.format(BMI));if (BMI < 20) {classificationText.setText("偏瘦,多吃点东西");} else if (BMI > 25) {classificationText.setText("超重,少吃点东西");} else {classificationText.setText("正常,继续保持");}}});//清除控件里的内容button2.setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {weightText.setText("");heightText.setText("");BMIText.setText("");classificationText.setText("");}});}
}

Run运行结果展示

学习之路大家一起学习,谢谢。

Android之简单的BMI计算器app相关推荐

  1. android之简单的BMI计算器

    简单的BMI计算器 MainActivity.java public class MainActivity extends Activity {Spinner s1,s2;EditText e1,e2 ...

  2. Flutter for App——一个简单的BMI计算APP

    一个简单的BMI计算APP 效果截图 初始化 布局 顶部区域 标题 计算结果 组合顶部区域 背景 中间区域 输入框 输入行 计算按钮 分界线 组合中间区域 底部区域 页面组合 BMI计算 Toast弹 ...

  3. 开源项目—FLutter/iOS/Android编写的三个计算器APP

    前端时间使用Flutter,iOS,Android三种技术编写了三个相同功能的计算器APP,github地址,https://github.com/ThinkerJack/android-ios-fl ...

  4. Android——一个简单的记账本APP

    一个简单的记账本APP 视频效果预览 添加账目记录 效果预览 添加账目记录实现 简述 实现 获取日期 字符串时间戳转Date Date转星期 获取时间 Switch控制显示和隐藏 更改Switch样式 ...

  5. Android实现menu菜单(BMI检测APP)

    一.项目运行效果 点击软件说明,并跳转到软件说明界面 二.菜单创建 1.创建meun文件,并在该文件下创建xx_menu.xml文件 创建meyn文件 创建app_menu.xml 菜单XML代码 & ...

  6. 基于android的简单网页_成都APP开发:APP原生和网页开发有什么区别?

    现在市面上的APP主要分为原生与网页开发两种模式,下面小编就分别针对APP的原生开发和网页开发两者间的优势和劣势介绍一下两者间的区别,希望帮助大家更好的了解这两种开发模式. 原生优势 1)运行速度比较 ...

  7. 女性bmi计算器JAVA代码_简单的BMI计算器

    1.把需要用的资源声明出来,有的用findViewById找出来,没有的new出来,比如按钮的监听器. 2.因为这个程序做的是数值计算,默认的往里输入的会默认为edit型,从资源取出并计算时要转为do ...

  8. JAVA Swing实现简单的体重指数(BMI)计算器

    BMI,Body Mass Index,身体质量指数,是用体重公斤数 除以 身高米数平方得出的,是目前国际上常用的衡量人体胖瘦程度以及是否健康的一个标准. 而本文通过运用Java Swing实现了一个 ...

  9. SwiftUI实战教程 第二章 BMI计算器

    代码库 教程中的项目代码都保存在这里: https://github.com/NDFour/swiftui01 前言 在这一章里,我们会做一个BMI计算器,进一步加深我们在之前的章节里学习到的知识.这 ...

最新文章

  1. 统计每年入职的员工个数
  2. 图书馆可以借到的书目
  3. java trie实现
  4. 技术分享 | 混合云模式下SaaS端前端最佳实践
  5. html input file name,HTML Input FileUpload name用法及代码示例
  6. 基于zookeeper实现分布式配置中心(二)
  7. 在C语言中如何高效地复制和连接字符串?
  8. 【奇葩笔试】—— printf() 作为函数的参数及其返回值
  9. python线性拟合numpypolyfit_python – 具有适配参数的numpy.polyfit
  10. Linux内核Makefile编译生成内核目标文件的过程
  11. Java编程基础12——Eclipse使用Object类型
  12. 长尾关键词生成工具-长尾关键词生成软件免费-关键词组合工具
  13. M-02-10.[紫猫]Sqlite3数据库插件
  14. excel多工作表汇总如何完成?
  15. 如何用本地连接共享无线网络连接
  16. SLF4J的高级写法
  17. 《炬丰科技-半导体工艺》氢氟酸中玻璃湿法化学蚀刻的综述
  18. 数据可视化: matplotlib绘制动态图及3维动画
  19. OpenVINO 2021r1 超分辨率重建 INT8量化 - Waifu2x
  20. html 顶层标签,HTML什么是顶层标签

热门文章

  1. 什么是新零售 新零售对电商的影响是什么?
  2. 什么是新零售系统?新零售系统如何变企业“卖货难”为“销货易”?
  3. JAVAEE用户管理系统
  4. 【Idea】Idea配置JVM参数
  5. android-smart-image-view源码分析
  6. [ARC126D]Pure Straight
  7. 禀父母·谨守父亲保身之则
  8. 中国股市稳赚不赔秘诀----中国股市定律
  9. Emoji四字节字符入库时错误的解决方案(Incorrect string value: '\xF0\x9F\x99\x8F' for column 'Reply_Content' at row 1)
  10. DZZOffice(大桌子)企业文档协同平台教程系列(一)——安装部署教程