装备选择

    xiaoxiao2021-03-25  89

    1.在layout中创建程序(activity.main)

    用来编写主界面

    代码如下:

    <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"     xmlns:tools="http://schemas.android.com/tools"     android:id="@+id/activity_main"     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="com.example.bz0209.xzx0734.MainActivity">

        <TextView         android:id="@+id/biao"         android:layout_width="wrap_content"         android:layout_height="wrap_content"         android:layout_centerInParent="true"         android:text="快给我买装备"/>     <TableLayout         android:id="@+id/sheng"         android:layout_width="match_parent"         android:layout_height="wrap_content"         android:layout_gravity="center"         android:layout_marginBottom="20dp"         android:layout_below="@id/biao"         >         <TableRow             android:layout_width="match_parent"             android:layout_height="wrap_content">             <TextView                 android:id="@+id/shengming"                 android:layout_width="wrap_content"                 android:layout_height="wrap_content"                 android:text="生命值:"                 />             <ProgressBar                 android:id="@+id/progressBar1"                 style="?android:attr/progressBarStyleHorizontal"                 android:layout_height="wrap_content"                 android:layout_width="match_parent"                 android:layout_gravity="center"                 android:layout_weight="9"                 />             <TextView                 android:id="@+id/tv_life_progress"                 android:layout_height="wrap_content"                 android:layout_weight="1"                 android:text="0"                 android:textColor="#000000"                 />         </TableRow>         <TableRow             android:layout_width="match_parent"             android:layout_height="wrap_content">             <TextView                 android:id="@+id/gongji"                 android:layout_width="wrap_content"                 android:layout_height="wrap_content"                 android:text="攻击:"                 />             <ProgressBar                 android:id="@+id/progressBar2"                 style="?android:attr/progressBarStyleHorizontal"                 android:layout_height="wrap_content"                 android:layout_width="match_parent"                 android:layout_gravity="center"                 android:layout_weight="9"                 />             <TextView                 android:id="@+id/tv_attack_progress"                 android:layout_height="wrap_content"                 android:layout_weight="1"                 android:text="0"                 android:textColor="#000000"                 />         </TableRow>         <TableRow             android:layout_width="match_parent"             android:layout_height="wrap_content">             <TextView                 android:id="@+id/minjie"                 android:layout_width="wrap_content"                 android:layout_height="wrap_content"                 android:text="敏捷:"                 />             <ProgressBar                 android:id="@+id/progressBar3"                 style="?android:attr/progressBarStyleHorizontal"                 android:layout_height="wrap_content"                 android:layout_width="match_parent"                 android:layout_gravity="center"                 android:layout_weight="9"                 />             <TextView                 android:id="@+id/tv_speed_progress"                 android:layout_height="wrap_content"                 android:layout_weight="1"                 android:text="0"                 android:textColor="#000000"                 />         </TableRow>

        </TableLayout>     <RelativeLayout         android:layout_width="match_parent"         android:layout_height="wrap_content"         android:layout_marginLeft="50dp"         android:layout_marginRight="50dp"         android:layout_marginTop="20dp">

        </RelativeLayout>     <Button         android:layout_width="wrap_content"         android:layout_height="wrap_content"         android:text="买装备"         android:onClick="click"         android:layout_below="@id/sheng"         android:layout_centerHorizontal="true"/> </RelativeLayout>

    2.创建装备选择的界面

    <?xml version="1.0" encoding="utf-8"?> <RelativeLayout     xmlns:android="http://schemas.android.com/apk/res/android"     xmlns:tools="http://schemas.android.com/tools"     android:id="@+id/activity_shop2"     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="com.example.bz0209.xzx0734.ShopActivity">

        <TextView         android:id="@+id/tv_name"         android:layout_width="wrap_content"         android:layout_height="wrap_content"         android:text="商品名称"         android:layout_marginLeft="90dp"

            />     <LinearLayout         android:layout_width="wrap_content"         android:layout_height="wrap_content"         android:layout_centerHorizontal="true"         android:orientation="vertical"         >     <TextView         android:id="@+id/tv_life"         android:layout_width="wrap_content"         android:layout_height="wrap_content"         android:text="生命值" />     <TextView         android:id="@+id/tv_attack"         android:layout_width="wrap_content"         android:layout_height="wrap_content"         android:text="攻击"/>     <TextView         android:id="@+id/tv_speed"         android:layout_width="wrap_content"         android:layout_height="wrap_content"         android:text="速度"/>     </LinearLayout> </RelativeLayout>

    3.创建一个类用于封装信息

    package com.example.bz0209.xzx0734.cn.itcast.domain;

    import java.io.Serializable;

    /**  * Created by Administrator on 2017/4/1.  */

    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

    package com.example.bz0209.xzx0734;

    import android.app.Activity; import android.content.Intent; import android.os.Bundle; import android.view.View; import android.widget.TextView; import com.example.bz0209.xzx0734.cn.itcast.domain.ItemInfo;

    /**  * Created by Administrator on 2017/3/30.  */

    public class ShopActivity extends Activity implements View.OnClickListener {     private ItemInfo itemInfo;

        protected void onCreate(Bundle savedInstanceState) {         super.onCreate(savedInstanceState);         setContentView(R.layout.activity_shop2);         itemInfo = new ItemInfo("金剑", 100, 20, 20);         findViewById(R.id.activity_shop2).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());     }

        public void onClick(View v) {         switch (v.getId()) {             case R.id.activity_shop2:                 Intent intent = new Intent();                 intent.putExtra("equipment", itemInfo);                 setResult(1, intent);                 finish();                 break;         }     } }

    5.编写交互代码MainAcitvity

    package com.example.bz0209.xzx0734;

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

    import com.example.bz0209.xzx0734.R; import com.example.bz0209.xzx0734.ShopActivity; import com.example.bz0209.xzx0734.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;

        @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);         mProgressBar2.setMax(1000);         mProgressBar3.setMax(1000);     }

        public void click(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);             super.onActivityResult(requestCode, resultCode, data);             if (data != null) {                 if (resultCode == 1) {                     if (requestCode == 1) {                         ItemInfo info =                                 (ItemInfo) data.getSerializableExtra("equipment");                         updataProgress(info);                     }                 }             }

            }

        private void updataProgress(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() + "");     }

    }

    运行程序后选择买装备后显示信息

    点击物品后属性变化

    转载请注明原文地址: https://ju.6miu.com/read-19222.html

    最新回复(0)