android 入门 Linearlayout 布局 初级 activity之间数据传递 xml内部定义监听
2017-09-05 00:00
537 查看
BMI健康指数计算(最简单的按键监听“xml内部定义”)
MainActivity.java:
secondActivity.java:
activity_main.xml:
activity_second.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>
相关文章推荐
- android 入门 Linearlayout 布局 初级 activity之间数据传递 xml内部定义监听
- android入门1:有关布局与activity数据传递等
- 67.android布局-Fragment与Activity之间传递数据
- Android入门篇四:使用剪切板在Activity之间传递对象数据
- Android入门篇三:使用静态变量在Activity之间传递数据
- Android入门篇三:使用静态变量在Activity之间传递数据
- Android入门篇二:使用意图在Activity之间传递数据
- Android入门-Activity之间数据传递方法之Bundle
- Android开发从入门到放弃(1)在Activity之间传递数据
- Android入门篇五:使用全局变量在Activity之间传递数据
- Android入门篇四:使用全局变量在Activity之间传递数据
- android 应用程序Activity之间数据传递与共享的几种途径
- Android中2个activity之间的数据传递方法
- 【Android中级教程(三)之不同Activity之间的数据传递---Bundle对象的使用】的改进!
- Android中2个activity之间的数据传递方法
- android 应用程序Activity之间数据传递与共享的几种途径(1)
- [Android] 003_多个Activity之间的调用和数据传递
- Android 2个activity 之间的数据传递
- Android中两个Activity之间数据传递及返回
- Android 在两个 Activity 之间传递数据