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

Android基础综合案例(三)

2014-03-16 09:08 363 查看
                                     Android基础综合案例(三)

                                   标准体重计算器
 一、要求

如果是男性,标准体重=(身高-80)*0.7
如果是女性,标准体重=(身高-70)*0.6

二、具体代码的实现

1、String.xml

<?xml version="1.0" encoding="utf-8"?>
<resources>

<string name="app_name">Weight</string>
<string name="action_settings">Settings</string>
<string name="Title">计算你的标准体重</string>
<string name="Title1">性别</string>
<string name="Title2">身高</string>
<string name="sex_man">男</string>
<string name="sex_women">女</string>
<string name="jisuan">计算</string>
<string name="title_activity_main_activity2">MainActivity2</string>
<string name="xianshi">显示信息</string>

</resources>

2、activity_main.xml

<RelativeLayout 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=".MainActivity" >
<TextView
android:id="@+id/Text1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="20sp"
android:layout_x="50px"
android:layout_y="72px"
android:text="@string/Title" />

<TextView
android:id="@+id/Text2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/Text1"
android:layout_below="@+id/Text1"
android:layout_marginLeft="18dp"
android:layout_marginTop="26dp"
android:text="@string/Title1"
android:textSize="20sp" />

<RadioButton
android:id="@+id/radioButton1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignRight="@+id/Text1"
android:layout_alignTop="@+id/Text2"
android:layout_marginRight="14dp"
android:text="@string/sex_man" />

<RadioButton
android:id="@+id/radioButton2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBaseline="@+id/radioButton1"
android:layout_alignBottom="@+id/radioButton1"
android:layout_marginLeft="15dp"
android:layout_toRightOf="@+id/radioButton1"
android:text="@string/sex_women" />

<TextView
android:id="@+id/Text3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignLeft="@+id/Text2"
android:layout_below="@+id/radioButton1"
android:layout_marginTop="30dp"
android:text="@string/Title2"
android:textSize="20sp" />

<EditText
android:id="@+id/editname"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBaseline="@+id/Text3"
android:layout_alignBottom="@+id/Text3"
android:layout_marginLeft="26dp"
android:layout_toRightOf="@+id/Text3"
android:ems="10" />

<Button
android:id="@+id/mybutton1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignRight="@+id/Text1"
android:layout_below="@+id/editname"
android:layout_marginTop="30dp"
android:text="@string/jisuan" />

</RelativeLayout>

3、Mainactivity.java

package com.example.weight;

import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.view.Menu;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.RadioButton;

public class MainActivity extends Activity {

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button myButton1=(Button)findViewById(R.id.mybutton1);
myButton1.setOnClickListener(new Button.OnClickListener(){
public void onClick(View v){
EditText edit=(EditText)findViewById(R.id.editname);
double ed=Double.parseDouble(edit.getText().toString());
String sex="";
RadioButton rb=(RadioButton)findViewById(R.id.radioButton1);
if(rb.isChecked()){
sex="men";
}else{
sex="women";
}
Intent intent=new Intent();
intent.setClass(MainActivity.this, MainActivity2.class);
Bundle bundle=new Bundle();
bundle.putDouble("ed", ed);
bundle.putString("sex", sex);
intent.putExtras(bundle);
startActivity(intent);
}
});
}
@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;
}

}

4、mian_activity2.xml

<RelativeLayout 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=".MainActivity2" >

<TextView
android:id="@+id/myText1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="20sp"
android:text="@string/xianshi" />

</RelativeLayout>

5、MainActivity2.java

package com.example.weight;

import java.text.DecimalFormat;
import java.text.NumberFormat;

import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.view.Menu;
import android.widget.TextView;

public class MainActivity2 extends Activity {

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main_activity2);
Bundle bundle=this.getIntent().getExtras();
String sex=bundle.getString("sex");
Double ed=bundle.getDouble("ed");
String sexText="";
if(sex.equals("men")){
sexText="男";
}else{
sexText="女";
}
String weight=this.getWeight(sex, ed);
TextView textView=(TextView)findViewById(R.id.myText1);
textView.setText("性别:"+sexText+"\n 身高:"+ed+"\n 体重:"+weight);
}
private String format(double num){
NumberFormat formatator=new DecimalFormat("0.00");
String s=formatator.format(num);
return s;
}
private String getWeight(String sex,double ed){
String weight="";
if(sex.equals("M")){
weight=format((ed-80)*0.7);
}else{
weight=format((ed-70)*0.6);
}
return weight;
}

@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_activity2, menu);
return true;
}

}


三、运行效果图






内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: