步骤如下
一、创建主程序:
<?xml version="1.0" encoding="utf-8"?>
<
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"
tools:context=".Main"
android:orientation="vertical"
android:gravity="center">
<
ImageView
android:id="@+id/pet_imgv"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_marginBottom="5dp"
android:layout_marginTop="30dp"
android:src="@drawable/baby"/>
<
TextView
android:id="@+id/pet_dialog_tv"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_horizontal"
android:layout_marginBottom="25dp"
android:gravity="center"
android:text="主人,快给小宝宝购买装备吧" />
<
TableLayout
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_marginBottom="20dp">
<
TableRow
android:layout_width="fill_parent"
android:layout_height="wrap_content">
<
TextView
android:layout_width="0dip"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="生命值:"
android:textColor="@android:color/black"
android:textSize="14sp"/>
<
ProgressBar
android:id="@+id/progressBar1"
style="?android:attr/progressBarStyleHorizontal"
android:layout_width="0dip"
android:layout_height="wrap_content"
android:layout_gravity="center"
android:layout_weight="2"/>
<
TextView
android:id="@+id/tv_life_progress"
android:layout_width="0dip"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="0"
android:gravity="center"
android:textColor="#000000"/>
</
TableRow>
<
TableRow
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginTop="5dp">
<
TextView
android:layout_width="0dip"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="攻击力:"
android:textColor="@android:color/black"
android:textSize="14sp" />
<
ProgressBar
android:id="@+id/progressBar2"
style="?android:attr/progressBarStyleHorizontal"
android:layout_width="0dip"
android:layout_height="wrap_content"
android:layout_weight="2" />
<
TextView
android:id="@+id/tv_attack_progress"
android:layout_width="0dip"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="0"
android:gravity="center"
android:textColor="#000000" />
</
TableRow>
<
TableRow
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_marginTop="5dp">
<
TextView
android:layout_width="0dip"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="敏 捷:"
android:textColor="@android:color/black"
android:textSize="14sp" />
<
ProgressBar
android:id="@+id/progressBar3"
style="?android:attr/progressBarStyleHorizontal"
android:layout_width="0dip"
android:layout_height="wrap_content"
android:layout_weight="2" />
<
TextView
android:id="@+id/tv_speed_progress"
android:layout_width="0dip"
android:layout_height="wrap_content"
android:layout_weight="1"
android:text="0"
android:gravity="center"
android:textColor="#000000" />
</
TableRow>
</
TableLayout>
<
RelativeLayout
android:layout_width="match_parent"
android:layout_height="wrap_content" >
<
Button
android:id="@+id/btn_master"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:drawableRight="@android:drawable/ic_menu_add"
android:onClick="click"
android:drawablePadding="3dp"
android:text="主人购买装备"
android:textSize="14sp" />
<
Button
android:id="@+id/btn_baby"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentRight="true"
android:layout_alignParentTop="true"
android:drawablePadding="3dp"
android:drawableRight="@android:drawable/ic_menu_add"
android:onClick="click2"
android:text="小宝宝购买装备"
android:textSize="14sp" />
</
RelativeLayout>
</
LinearLayout>
二、创建装备界面:
<?xml version="1.0" encoding="utf-8"?>
<
RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/rl"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<
View
android:layout_width="30dp"
android:layout_height="30dp"
android:background="@android:drawable/ic_menu_info_details"
android:layout_centerVertical="true"
android:layout_alignParentLeft="true"
/>
<
TextView
android:id="@+id/tv_name"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerVertical="true"
android:layout_marginLeft="60dp"
android:text="商品名称"/>
<
LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:orientation="vertical">
<
TextView
android:id="@+id/tv_life"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="13sp"
android:text="生命值" />
<
TextView
android:id="@+id/tv_attack"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="13sp"
android:text="攻击力"
android:layout_marginTop="5dp"/>
<
TextView
android:id="@+id/tv_speed"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textSize="13sp"
android:text="敏 捷"
android:layout_marginTop="5dp"/>
</
LinearLayout>
</
RelativeLayout>
创建ItemInfo类:
package com.example.administrator.myapplication;
/**
* Created by wanglaoda on 15-8-2.
*/
import java.io.Serializable;
//实现序列化方便传递数据
public class ItemInfo
implements Serializable{
private String
name;
private int acctack;
private int life;
private int speed;
public ItemInfo(String name,
int acctack,
int life,
int speed) {
this.
name = name;
this.
acctack = acctack;
this.
life = life;
this.
speed = speed;
}
public String getName() {
return name;
}
public void setName(String name) {
this.
name = name;
}
public int getAcctack() {
return acctack;
}
public void setAcctack(
int acctack) {
this.
acctack = acctack;
}
public int getLife() {
return life;
}
public void setLife(
int life) {
this.
life = life;
}
public int getSpeed() {
return speed;
}
public void setSpeed(
int speed) {
this.
speed = speed;
}
public String toString() {
return " [name=" +
name +
", acctack=" +
acctack +
", life=" +
life +
", speed=" +
speed +
"]";
}
} 四、创建ShopActivity:
package com.example.administrator.myapplication;
/**
* Created by wanglaoda on 15-8-2.
*/
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.TextView;
public class ShopActivity
extends Activity
implements OnClickListener {
private ItemInfo
itemInfo;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_shop);
itemInfo =
new ItemInfo(
"金剑",
100,
20,
20);
findViewById(R.id.
rl).setOnClickListener(
this);
TextView mLifeTV = (TextView) findViewById(R.id.
tv_life);
TextView mNameTV = (TextView) findViewById(R.id.
tv_name);
TextView mSpeedTV = (TextView) findViewById(R.id.
tv_speed);
TextView mAttackTV = (TextView) findViewById(R.id.
tv_attack);
// TextView显示字符串,这里传入int值编译不会报错,运行会出错
mLifeTV.setText(
"生命值+" +
itemInfo.getLife());
mNameTV.setText(
itemInfo.getName() +
"");
mSpeedTV.setText(
"敏捷度+" +
itemInfo.getSpeed());
mAttackTV.setText(
"攻击力+" +
itemInfo.getAcctack());
}
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
switch (v.getId()) {
case R.id.
rl:
Intent intent =
new Intent();
intent.putExtra(
"equipment",
itemInfo);
setResult(
1, intent);
finish();
break;
}
}
} 五、编写界面交互代码:
package com.example.administrator.myapplication;
import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.ProgressBar;
import android.widget.TextView;
public class Main
extends Activity {
private ProgressBar
mProgressBar1;
private ProgressBar
mProgressBar2;
private ProgressBar
mProgressBar3;
private TextView
mLifeTV;
private TextView
mAttackTV;
private TextView
mSpeedTV;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.
activity_main);
mLifeTV = (TextView) findViewById(R.id.tv_life_progress);
mAttackTV = (TextView) findViewById(R.id.tv_attack_progress);
mSpeedTV = (TextView) findViewById(R.id.tv_speed_progress);
initProgress();
//初始化进度条
}
private void initProgress() {
mProgressBar1 = (ProgressBar) findViewById(R.id.progressBar1);
mProgressBar2 = (ProgressBar) findViewById(R.id.progressBar2);
mProgressBar3 = (ProgressBar) findViewById(R.id.progressBar3);
mProgressBar1.setMax(
1000);
//设置最大值1000
mProgressBar2.setMax(
1000);
mProgressBar3.setMax(
1000);
}
// 开启新的activity并且想获取他的返回值
public void click(View view) {
Intent intent =
new Intent(
this, ShopActivity.
class);
startActivityForResult(intent,
1);
// 返回请求结果,请求码为1
}
public void click2(View view) {
Intent intent =
new Intent(
this, ShopActivity.
class);
startActivityForResult(intent,
1);
}
@Override
protected void onActivityResult(
int requestCode,
int resultCode, Intent data) {
super.onActivityResult(requestCode, resultCode, data);
if (data !=
null) {
// 判断结果码是否等于1,等于1为主人添加装备,等于2为宝宝添加装备
if (resultCode ==
1) {
if (requestCode ==
1) {
ItemInfo info= (ItemInfo) data.getSerializableExtra(
"equipment");
//更新ProgressBar的值
updateProgress(info);
}
}
}
}
//更新ProgressBar的值
private void updateProgress(ItemInfo info) {
int progress1 =
mProgressBar1.getProgress();
int progress2 =
mProgressBar2.getProgress();
int progress3 =
mProgressBar3.getProgress();
mProgressBar1.setProgress(progress1+info.getLife());
mProgressBar2.setProgress(progress2+info.getAcctack());
mProgressBar3.setProgress(progress3+info.getSpeed());
mLifeTV.setText(
mProgressBar1.getProgress()+
"");
mAttackTV.setText(
mProgressBar2.getProgress() +
"");
mSpeedTV.setText(
mProgressBar3.getProgress() +
"");
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
// Inflate the menu; this adds items to the action bar if it is present.
getMenuInflater().inflate(R.menu.menu_main, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();
//noinspection SimplifiableIfStatement
if (id == R.id.action_settings) {
return true;
}
return super.onOptionsItemSelected(item);
}
} 六、清单文件的配置:
<?xml version="1.0" encoding="utf-8"?>
<
manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="select.itcast.cn.huichuan" >
<
application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<
activity
android:name=".Main"
android:label="@string/app_name" >
<
intent-filter>
<
action android:name="android.intent.action.MAIN" />
<
category android:name="android.intent.category.LAUNCHER" />
</
intent-filter>
</
activity>
<
activity android:name=".ShopActivity"/>
</
application>
</
manifest>
转载请注明原文地址: https://ju.6miu.com/read-665122.html