您的位置:首页 > 移动开发 > Android开发

android 入门 Linearlayout 布局 初级 activity之间数据传递 xml内部定义监听

2017-09-05 00:00 537 查看
BMI健康指数计算(最简单的按键监听“xml内部定义”)

MainActivity.java:

public class MainActivity extends Activity {
EditText height,wei;
Button comp,clear;
double heightDouble,weiDouble,bmi;
String heightString,weiString;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
height=(EditText)findViewById(R.id.height);
wei=(EditText)findViewById(R.id.wei);
comp=(Button)findViewById(R.id.comp);
clear=(Button)findViewById(R.id.clear);
}
public void clear3(View v){
height.setText("");
wei.setText("");
}
public void comp(View v){
heightString=height.getText().toString();
weiString=wei.getText().toString();
if(heightString.equals("")||weiString.equals(""))
{
Toast.makeText(MainActivity.this, "请完整填写身高体重",Toast.LENGTH_LONG).show();
}
else{
heightDouble = Double.parseDouble(height.getText().toString());
weiDouble = Double.parseDouble(wei.getText().toString());
bmi=weiDouble/(heightDouble*heightDouble);
Intent intent=new Intent(MainActivity.this,SecondActivity.class);
intent.putExtra("bmi",bmi );
intent.putExtra("height", heightDouble);
startActivity(intent);
finish();
}
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.main, menu);
return true;
}
}


secondActivity.java:

public class SecondActivity extends Activity {
double bmiDouble,heightDouble,okweightDouble;
TextView bmi,state,okweight;
ImageView img;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_second);
Intent intent=getIntent();
bmiDouble=intent.getDoubleExtra("bmi", -1);
heightDouble=intent.getDoubleExtra("height", -1);
if(bmiDouble==-1 ||heightDouble==-1){
Toast.makeText(SecondActivity.this, "未知错误", Toast.LENGTH_SHORT).show();
finish();
}
else{
bmi=(TextView)findViewById(R.id.bmi);
img=(ImageView)findViewById(R.id.img);
state=(TextView)findViewById(R.id.state);
okweight=(TextView)findViewById(R.id.okweight);
bmiDouble=(int)(bmiDouble*100+5)/100.0;
okweightDouble=24.99*heightDouble*heightDouble;
okweightDouble=(int)(okweightDouble*100+5)/100.0;
bmi.setText(bmiDouble+"");
okweight.setText(okweightDouble+"");
if(bmiDouble<18.5){
img.setImageResource(R.drawable.demo1_1);
state.setText("过轻");
}
else{
if(bmiDouble<25){
img.setImageResource(R.drawable.demo1_2);
state.setText("正常");
}
else if(bmiDouble<28){
img.setImageResource(R.drawable.demo1_3);
state.setText("过重");
}
else{
img.setImageResource(R.drawable.demo1_4);
state.setText("肥胖");
}
}
}
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.second, menu);
return true;
}
public boolean onOptionsItemSelected(MenuItem item) {
// TODO Auto-generated method stub
//  return super.onOptionsItemSelected(item);
super.onOptionsItemSelected(item);
switch(item.getItemId())
{
case R.id.back:
Intent intent=new Intent(SecondActivity.this,MainActivity.class);
startActivity(intent);
finish();
break;
case R.id.close:
System.exit(0);
}
return true;
}
}


activity_main.xml:

<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:orientation="vertical"
tools:context=".MainActivity"
android:background="@drawable/bmi_bj"
>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="BMI计算器"
android:textSize="30dp"
android:gravity="center_horizontal"
/>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"
>
<TextView
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:text="身高(m):"
/>
<EditText
android:id="@+id/height"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="numberDecimal"

/>

</LinearLayout>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal"

>
<TextView
android:layout_width="wrap_content"
android:layout_height="fill_parent"
android:text="体重(Kg):"
/>
<EditText
android:id="@+id/wei"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:inputType="numberDecimal"
/>

</LinearLayout>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="vertical"
android:gravity="center_horizontal"
>
<Button
android:id="@+id/comp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="计算"
android:background="@drawable/demo1_btn"
android:onClick="comp"
/>
<Button
android:id="@+id/clear"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="清空"
android:onClick="clear3"
android:background="@drawable/demo1_btn"

/>
</LinearLayout>
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="BMI指数(即身体质量指数,称简体质指数又称体重,英文为Body Mass Index,简称BMI),是用体重公斤数除以身高米数平方得出的数字,是目前国际上常用的衡量人体胖瘦程度以及是否健康的一个标准。"
/>
</LinearLayout>


activity_second.xml:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".SecondActivity"
android:background="@drawable/bmi_bj"
android:orientation="vertical"
>
<TextView
android:layout_width="fill_parent"
android:layout_height="0dp"
android:layout_weight="1"
android:text="测试结果"
android:textSize="40dp"
android:gravity="center_horizontal"
/>
<ImageView
android:id="@+id/img"
android:layout_weight="4"
android:layout_width="fill_parent"
android:layout_height="0dp"
android:src="@drawable/demo1_3"
/>
<LinearLayout
android:layout_width="fill_parent"
android:layout_height="0dp"
android:layout_weight="2"
android:orientation="vertical"
android:gravity="center_horizontal"
>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal"
>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="您的BMI指数为:"
/>
<TextView
android:id="@+id/bmi"
android:layout_width="fill_parent"
android:gravity="center_horizontal"
android:layout_height="wrap_content"
android:textColor="#cc0000"
/>

</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal"
>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="您的体重情况为:"
/>
<TextView
android:id="@+id/state"
android:layout_width="fill_parent"
android:gravity="center_horizontal"
android:layout_height="wrap_content"
android:textColor="#cc0000"

/>

</LinearLayout>
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal"
>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="您的健康体重为:"
/>
<TextView
android:id="@+id/okweight"
android:layout_width="fill_parent"
android:gravity="center_horizontal"
android:layout_height="wrap_content"
android:textColor="#cc0000"
/>
</LinearLayout>
</LinearLayout>
</LinearLayout>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: