购买装备

来源:互联网 发布:动态鱼桌面壁纸软件 编辑:程序博客网 时间:2024/06/10 23:01

1创建一个工程,包名为cn.itcast.select

2.

1)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:orientation="vertical"    android:gravity="center"    tools:context=".MainActivity" >    <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" >            <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" >            <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>
2)创建装备界面activity_shop.xml,来展示装备,其布局文件代码如下:
<?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="攻击力"/>         <TextView             android:id="@+id/tv_speed"             android:layout_width="wrap_content"             android:layout_height="wrap_content"             android:textSize="13sp"             android:text="速度"/>        </LinearLayout></RelativeLayout>
3.创建ItemInfo类
package cn.itcast.domain;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 + "]";   }}
4.创建ShopActivity,用来展示装备信息,当单击ShopActivity的装备时,会调回MainActivity,并将装备信息回传给MainActivity。代码如下:
package cn.itcast.select;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;import cn.itcast.domain.ItemInfo;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);             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;      }   }}
5.界面交互代码:用于响应按钮的点击事件,并将返回的装备信息显示到指定的ListView控件中
package cn.itcast.select;import java.util.ArrayList;import java.util.List;import android.app.Activity;import android.content.Intent;import android.os.Bundle;import android.view.View;import android.widget.ListView;import android.widget.ProgressBar;import android.widget.TextView;import android.widget.Toast;import cn.itcast.domain.ItemInfo;public class MainActivity extends Activity {   private ProgressBar mProgressBar1;   private ProgressBar mProgressBar2;   private ProgressBar mProgressBar3;   private TextView mLifeTV;   private TextView mAttackTV;   private TextView mSpeedTV;   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);              mProgressBar2.setMax(1000);      mProgressBar3.setMax(1000);   }      public void click(View view) {      Intent intent = new Intent(this, ShopActivity.class);      startActivityForResult(intent, 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) {                       if (resultCode == 1) {            if (requestCode == 1) {               ItemInfo info= (ItemInfo) data.getSerializableExtra("equipment");                              updateProgress(info);            }         }       }   }      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()+"");   }}
6.清单文件的配置:
<?xml version="1.0" encoding="utf-8"?><manifest xmlns:android="http://schemas.android.com/apk/res/android"    package="cn.itcast.select"    android:versionCode="1"    android:versionName="1.0" >    <uses-sdk        android:minSdkVersion="8"        android:targetSdkVersion="17" />    <application        android:allowBackup="true"        android:icon="@drawable/ic_launcher"        android:label="@string/app_name"        android:theme="@style/AppTheme" >        <activity            android:name="cn.itcast.select.MainActivity"            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="cn.itcast.select.ShopActivity" >        </activity>    </application></manifest>

1 0
原创粉丝点击