Android之装备选择案例

    xiaoxiao2021-03-25  11

    1.创建程序界面

    <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_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.创建装备界面 <?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>   3.创建Info类 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.创建购买装备程序界面 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("金剑"1002020);           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;           }       }   }   5.界面交互程序 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);       }   }  

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

    最新回复(0)