今天来个简单的综合应用,将前面所介绍的东西放在一起,结合设计出一个BMI计算器。这次介面大多与之前介绍的差不多,主要会放在讲MainActivity.java里程序码的部分。
由於都是前几篇内容的元件,这里就不多赘述程序码,可以当作练习试着做看看喔!
今天的重点则跳到MainActivity.java
public class MainActivity extends AppCompatActivity {
EditText height; //宣告变数,型态为EditText(全域变数)
EditText weight; //宣告变数,型态为EditText(全域变数)
Button bt1; //宣告变数,型态为Button(全域变数)
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
height=(EditText)findViewById(R.id.et1); //取得输入物件(身高)
weight=(EditText)findViewById(R.id.et2); //取得输入物件(体重)
}
public void calculate(View v){ //按钮事件
if(!("".equals(height.getEditableText().toString())) ||
!("".equals(weight.getEditableText().toString()))){
//判断输入是否为空值
float fh=Float.parseFloat(height.getEditableText().toString());
//将输入值(身高)的字串,转换会为float
float fw=Float.parseFloat(weight.getEditableText().toString());
//将输入值(体重)的字串,转换会为float
float fresult; //宣告变数,型态为float(区域变数)
TextView result=(TextView)findViewById(R.id.tx5); //取得物件,放置BMI结果
fh=fh/100;
fh=fh*fh;
NumberFormat nf=NumberFormat.getInstance(); //设定数字格式,并宣告物件nf
nf.setMaximumFractionDigits(2); //小数点设定显示最多後两位
fresult=fw/fh;
result.setText(nf.format(fresult)+""); //将算出来的BMI格式化
TextView dia=(TextView)findViewById(R.id.tx6); //取得物件,放置诊断结果
if(fresult<18.5) //判断BMI的数值
dia.setText("体重过轻");
else if(fresult>=18.5&&fresult<24)
dia.setText("正常范围");
else if(fresult>=24&&fresult<27)
dia.setText("过重");
else if(fresult>=27&&fresult<30)
dia.setText("轻度肥胖");
else if(fresult>=30&&fresult<35)
dia.setText("中度肥胖");
else if(fresult>=35)
dia.setText("重度肥胖");
}
}
}
以上算是这几天的段落整理,希望各位能熟悉这些元件,将对之後写程序大有帮助。
今天的就降到这里,谢谢大家!
Collection 攻击者会为了取得 ICS 环境中感兴趣的资料,进而使用许多技巧,透过监控的方式...
Vue的安装方式有很多种像我这次是使用CND的方式来使用Vue 首先呢我们可以先到Vue的网站 可以...
Hi 大家好,我是Rson,一位在科技业的互动介面设计师。在过去的专案及产品经历中,累积了一些心得...
前言 今天想跟大家讨论这个在团队内外之间都可能面对的「信任」问题。信任这件事,几乎大家都能理解它的重...
最会伪装的就是变数,变来变去常让人分不清是变到哪里去了...根本是忍者! 这几天写的都是与元件相关...