本文实例为大家分享了AndroidStudio简单实现BMI计算的具体代码,供大家参考,具体内容如下

xml代码

```xml

<TextView
        android:id="@ id/textView"
        android:layout_width="match_parent"
        android:layout_height="30dp"
        android:text="BMI计算器"
        android:textSize="25dp"/>
    <EditText
        android:id="@ id/height"
        android:layout_width="match_parent"
        android:layout_below="@id/textView"
        android:layout_height="50dp"
        android:hint="身高(米)"
        android:layout_marginLeft="20dp"
        />
    <EditText
        android:id="@ id/weight"
        android:layout_width="match_parent"
        android:layout_height="50dp"
        android:layout_below="@id/height"
        android:hint="体重(公斤)"
        android:layout_marginLeft="20dp"
        />
    <TextView
        android:id="@ id/txt"
        android:layout_width="match_parent"
        android:layout_height="50dp"
        android:layout_below="@id/weight"
        android:text="结论"
        />
    <Button
        android:id="@ id/btn_count"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_below="@id/rdgp"
        android:text="计算"
        android:onClick="ButtonClick"
        />

    <RadioGroup
        android:id="@ id/rdgp"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:orientation="horizontal"
        android:layout_below="@id/txt">

        <RadioButton
            android:id="@ id/rbtn_who"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="WHO标准" />

        <RadioButton
            android:id="@ id/rbtn_asia"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="亚洲标准" />

        <RadioButton
            android:id="@ id/rbtn_chn"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="中国标准" />
</RadioGroup>

java代码

public  void  ButtonClick(View v){
        EditText editHeight = (EditText)findViewById(R.id.height);
        EditText editWeidth = (EditText)findViewById(R.id.weight);
        TextView txtResault = (TextView)findViewById(R.id.txt);
        //获取编辑框内容,由于是字符串类型,需要转换为可计算类型
        Double height = Double.parseDouble(editHeight.getText().toString());
        Double weight = Double.parseDouble(editWeidth.getText().toString());
        //设置判断语句
        Double bmi = weight / (height*height);
/*
        BMI在18.5-24之间是正常的。
        BMI低于18.5考虑为体重过轻;
        24-27之间为超重;
        超过27以上为肥胖。
 */
        RadioButton rdbtn_1 = (RadioButton)findViewById(R.id.rbtn_who);
        RadioButton rdbtn_2 = (RadioButton)findViewById(R.id.rbtn_asia);
        RadioButton rdbtn_3 = (RadioButton)findViewById(R.id.rbtn_chn);
        //判断控件按钮是否被选中 isChecked()
        if(rdbtn_1.isChecked()){
            if(bmi<18.5){
                txtResault.setText("BMI" bmi.toString() ",您的体重偏轻");
            }
            else  if(bmi<=24.9){
                txtResault.setText("BMI" bmi.toString() ",您的体重正常");
            }
            else if(bmi<=29.9){
                txtResault.setText("BMI" bmi.toString() ",您的体重偏重");
            }
            else if (bmi<=34.9){
                txtResault.setText("BMI" bmi.toString() ",您的体重肥胖!!!");
            }
            else if (bmi<=39.9){
                txtResault.setText("BMI" bmi.toString() ",您的体重过于肥胖!!!!");
            }
            else {
                txtResault.setText("BMI" bmi.toString() ",您的体重严重肥胖!!!!!!!");
            }
        }
        else if(rdbtn_2.isChecked()){
            if(bmi<18.5){
                txtResault.setText("BMI" bmi.toString() ",您的体重偏轻");
            }
            else  if(bmi<=22.9){
                txtResault.setText("BMI" bmi.toString() ",您的体重正常");
            }
            else if(bmi<=24.9){
                txtResault.setText("BMI" bmi.toString() ",您的体重偏重");
            }
            else if (bmi<=29.9){
                txtResault.setText("BMI" bmi.toString() ",您的体重肥胖!!!");
            }
            else if (bmi<=40){
                txtResault.setText("BMI" bmi.toString() ",您的体重过于肥胖!!!!");
            }
            else{
                txtResault.setText("BMI" bmi.toString() ",您的体重严重肥胖!!!!!!!");
            }

        }
        else if (rdbtn_3.isChecked()){
            if(bmi<18.5){
                txtResault.setText("BMI" bmi.toString() ",您的体重偏轻");
            }
            else  if(bmi<=23.9){
                txtResault.setText("BMI" bmi.toString() ",您的体重正常");
            }
            else if(bmi<=27.9){
                txtResault.setText("BMI" bmi.toString() ",您的体重偏重");
            }
            else {
                txtResault.setText("BMI" bmi.toString() ",您的体重肥胖");
            }
        }
        else {
            txtResault.setText("请选择BMI标准");
        }
    }

总结:

1.判断选择按钮时,可以采用isChecked进行判断;
2.类型转换,可以采用 对象.getText().toString() 获取编辑内容,再进行类型转换

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持Devmax。

AndroidStudio简单实现BMI计算的更多相关文章

  1. Android studio – Faild to resolve:com.android.support:design:26.0.1错误

    我有一个错误叫:我的androidstudio版本是3.0beta1.我的gradle文件如下:我想把“设计”放到我的项目中,但我不能这样做.我该怎么做?解决方法尝试改变和或者不要更改为bulidToolsversion更改依赖项

  2. 无法在Android Studio上运行应用程序项目

    我是AndroidStudio的新手,我在Ubuntu14.04LTS(64位)上安装了它.当我在AndroidStudio中打开项目时,我的项目文件标记为红色,运行按钮旁边的调试配置按钮标有红色X,如下图所示:请告诉我如何解决这个问题.解决方法一个简单的方法:>关闭当前打开的项目以返回欢迎屏幕.>从欢迎屏幕中选择导入项目.>选择要导入的EclipseADT项目.

  3. 外部AndroidManifest.xml不会出现在项目视图窗格下

    我一直在使用AndroidStudio和Gradle开发Android项目.我的项目的AndroidManifest.xml位于外部文件夹下.我使用build.gradle文件中的以下代码指向它:一切都很好,项目编译和运行,除了在使用项目视图窗格时我无法在项目结构下找到AndroidManifest.xml文件.也许我需要在build.gradle文件中添加其他东西?解决方法首先–我没有看到任何理

  4. android-studio – 未配置Dart SDK

    Initializinggradle…

  5. 如何在Android Studio 1.0.0中更改logcat字体大小?

    我只找到了改变AndroidStudio中字体颜色的方法.解决方法Logcat只使用ConsoleFont的字体设置.要在AndroidStudio中更改此设置,请转到:Settings->Editor->Color&Fonts->ConsoleFont

  6. android-studio – 在Android Studio中放置gitIgnore文件的位置?

    我将此文件复制到AndroidStudio中的gitIgnore文件中,但是当我在gitHub上推送该项目时,我的gitnigore文件如下所示:所以,我复制到AndroidStudio的文件不在这里.问题是什么?解决方法通常在创建新项目时会为您生成gitignore文件.这是正确的.gitignore文件.这是你必须把它.

  7. android-studio – 安卓工作室更新后的问题

    解决方法我在AndroidStudio中花了很多时间来处理这个问题.看来这个问题是由用于编译项目的java版本的差异引起的.最后,在“项目结构”设置窗口中,我在SDK位置选项卡中启用了“使用嵌入式JDK(推荐)”.并快乐编译:)

  8. android – 编译项目时错误25.0.0

    我有一个项目,运行良好,直到约会.今天突然面临这些问题:我的sdk也没有25.0.0,havnt仍然下载它,而且我的编译版本是23.0.2然后你是否搜索25.0.0?编辑:我现在面临的确切问题是我正在使用在gradleforfacebook.并且在这个库中它使用25.0.0所以我该如何避免呢?

  9. 如何在Android Studio中导入自定义图标?

    我为我的Android应用程序制作了自己的图标,但我是AndroidStudio的初学者,并且它没有导入我已经存在的AndroidStudio项目.我只是使用AndroidAssetStudio中的AndroidLauncherIconGenerator,然后为您创建一个zip文件,该文件应放在您的项目res文件夹中.我基本上用新的文件夹替换旧的res文件夹,我检查了所有新图标都在他们正确的文件夹

  10. 为什么我们没有一个文件来打开Android Studio项目?

    我很确定你们这里的很多人都经历过尝试导入你在网上看到的项目的挫败感,以便更好地分开并了解它是如何工作的.我知道我们应该导入使用Eclipse构建的Android项目和使用AndroidStudio构建的OpenAndroid项目.但是,为什么我们必须通过文件–>打开–>然后选择我们要打开的AndroidStudio应用程序的目录?

随机推荐

  1. Flutter 网络请求框架封装详解

    这篇文章主要介绍了Flutter 网络请求框架封装详解,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧

  2. Android单选按钮RadioButton的使用详解

    今天小编就为大家分享一篇关于Android单选按钮RadioButton的使用详解,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧

  3. 解决android studio 打包发现generate signed apk 消失不见问题

    这篇文章主要介绍了解决android studio 打包发现generate signed apk 消失不见问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧

  4. Android 实现自定义圆形listview功能的实例代码

    这篇文章主要介绍了Android 实现自定义圆形listview功能的实例代码,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

  5. 详解Android studio 动态fragment的用法

    这篇文章主要介绍了Android studio 动态fragment的用法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

  6. Android用RecyclerView实现图标拖拽排序以及增删管理

    这篇文章主要介绍了Android用RecyclerView实现图标拖拽排序以及增删管理的方法,帮助大家更好的理解和学习使用Android,感兴趣的朋友可以了解下

  7. Android notifyDataSetChanged() 动态更新ListView案例详解

    这篇文章主要介绍了Android notifyDataSetChanged() 动态更新ListView案例详解,本篇文章通过简要的案例,讲解了该项技术的了解与使用,以下就是详细内容,需要的朋友可以参考下

  8. Android自定义View实现弹幕效果

    这篇文章主要为大家详细介绍了Android自定义View实现弹幕效果,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

  9. Android自定义View实现跟随手指移动

    这篇文章主要为大家详细介绍了Android自定义View实现跟随手指移动,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

  10. Android实现多点触摸操作

    这篇文章主要介绍了Android实现多点触摸操作,实现图片的放大、缩小和旋转等处理,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

返回
顶部