您的位置:首页 > 编程语言

安卓课程练习代码

2017-03-19 13:08 281 查看
项目 装备选择(EquipmentSelection)

layout部分:

1、activity_main.xml

<?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"

    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"

        android:layout_marginLeft="50dp"

        android:layout_marginRight="50dp"

        android:layout_marginTop="20dp">

        <Button

            android:id="@+id/btn_baby"

            android:layout_width="match_parent"

            android:layout_height="wrap_content"

            android:drawablePadding="3dp"

            android:drawableRight="@android:drawable/ic_menu_add"

            android:onClick="click"

            android:text="小宝宝购买装备"

            android:textSize="14sp"/>

    </RelativeLayout>

    <RelativeLayout

        android:layout_width="match_parent"

        android:layout_height="wrap_content"

        android:layout_marginLeft="50dp"

        android:layout_marginRight="50dp"

        android:layout_marginTop="0dp">

        <Button

            android:id="@+id/reset"

            android:layout_width="match_parent"

            android:layout_height="wrap_content"

            android:drawablePadding="3dp"

            android:drawableRight="@android:drawable/ic_menu_rotate"

            android:onClick="click1"

            android:text="重置宝宝的装备"

            android:textSize="14sp"/>

    </RelativeLayout>

</LinearLayout>

2、activity_shop.xml

<?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="wrap_content"

    android:orientation="vertical">

    <TableRow

        android:id="@+id/rl1"

        android:layout_width="match_parent"

        android:layout_height="80dp"

        android:layout_marginTop="10dp"

        android:layout_marginLeft="10dp"

        android:layout_marginRight="10dp"

        android:background="@android:color/darker_gray">

        <TextView

            android:id="@+id/tv_name1"

            android:layout_width="wrap_content"

            android:layout_height="wrap_content"

            android:layout_gravity="center"

            android:layout_marginLeft="40dp"

            android:text="商品名称"/>

        <LinearLayout

            android:layout_width="wrap_content"

            android:layout_height="wrap_content"

            android:layout_gravity="center"

            android:layout_marginLeft="80dp"

            android:orientation="vertical">

            <TextView

                android:id="@+id/tv_life1"

                android:layout_width="wrap_content"

                android:layout_height="wrap_content"

                android:textSize="13sp"

                android:text="生命值"/>

            <TextView

                android:id="@+id/tv_attack1"

                android:layout_width="wrap_content"

                android:layout_height="wrap_content"

                android:textSize="13sp"

                android:text="攻击力"/>

            <TextView

                android:id="@+id/tv_speed1"

                android:layout_width="wrap_content"

                android:layout_height="wrap_content"

                android:textSize="13sp"

                android:text="速度"/>

        </LinearLayout>

    </TableRow>

    <TableRow

        android:id="@+id/rl2"

        android:layout_width="match_parent"

        android:layout_height="80dp"

        android:layout_marginTop="10dp"

        android:layout_marginLeft="10dp"

        android:layout_marginRight="10dp"

        android:background="@android:color/darker_gray">

        <TextView

            android:id="@+id/tv_name2"

            android:layout_width="wrap_content"

            android:layout_height="wrap_content"

            android:layout_gravity="center"

            android:layout_marginLeft="40dp"

            android:text="商品名称"/>

        <LinearLayout

            android:layout_width="wrap_content"

            android:layout_height="wrap_content"

            android:layout_gravity="center"

            android:layout_marginLeft="80dp"

            android:orientation="vertical">

            <TextView

                android:id="@+id/tv_life2"

                android:layout_width="wrap_content"

                android:layout_height="wrap_content"

                android:textSize="13sp"

                android:text="生命值"/>

            <TextView

                android:id="@+id/tv_attack2"

                android:layout_width="wrap_content"

                android:layout_height="wrap_content"

                android:textSize="13sp"

                android:text="攻击力"/>

            <TextView

                android:id="@+id/tv_speed2"

                android:layout_width="wrap_content"

                android:layout_height="wrap_content"

                android:textSize="13sp"

                android:text="速度"/>

        </LinearLayout>

    </TableRow>

    <TableRow

        android:id="@+id/rl3"

        android:layout_width="match_parent"

        android:layout_height="80dp"

        android:layout_marginTop="10dp"

        android:layout_marginLeft="10dp"

        android:layout_marginRight="10dp"

        android:background="@android:color/darker_gray">

        <TextView

            android:id="@+id/tv_name3"

            android:layout_width="wrap_content"

            android:layout_height="wrap_content"

abe2
            android:layout_gravity="center"

            android:layout_marginLeft="40dp"

            android:text="商品名称"/>

        <LinearLayout

            android:layout_width="wrap_content"

            android:layout_height="wrap_content"

            android:layout_gravity="center"

            android:layout_marginLeft="80dp"

            android:orientation="vertical">

            <TextView

                android:id="@+id/tv_life3"

                android:layout_width="wrap_content"

                android:layout_height="wrap_content"

                android:textSize="13sp"

                android:text="生命值"/>

            <TextView

                android:id="@+id/tv_attack3"

                android:layout_width="wrap_content"

                android:layout_height="wrap_content"

                android:textSize="13sp"

                android:text="攻击力"/>

            <TextView

                android:id="@+id/tv_speed3"

                android:layout_width="wrap_content"

                android:layout_height="wrap_content"

                android:textSize="13sp"

                android:text="速度"/>

        </LinearLayout>

    </TableRow>

</LinearLayout>

java代码部分:

domain ItemInfo.java

package cn.itcast.domain;

import java.io.Serializable;

public class ItemInfo implements Serializable {

    private String name;

    private int attack;

    private int life;

    private int speed;

    public ItemInfo(String name,int attack,int life,int speed){

        this.name=name;

        this.attack=attack;

        this.life=life;

        this.speed=speed;

    }

    public String getName(){

        return  name;

    }

    public void setName(String name){

        this.name=name;

    }

    public int getAttack(){

        return attack;

    }

    public  void setAttack(int attack){

        this.attack=attack;

    }

    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+",attack="+attack+",life="+life+",speed="+speed+"]";

    }

}

select MainActivity.java

package cn.itcast.select;

import android.content.Intent;

import android.support.v7.app.AppCompatActivity;

import android.os.Bundle;

import android.view.View;

import android.widget.ProgressBar;

import android.widget.TextView;

import cn.itcast.domain.ItemInfo;

public class MainActivity extends AppCompatActivity {

    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);

    }

    public void click1(View view){

        mProgressBar1.setProgress(0);

        mProgressBar2.setProgress(0);

        mProgressBar3.setProgress(0);

        mLifeTV.setText("0");

        mSpeedTV.setText("0");

        mAttackTV.setText("0");

    }

    protected void onActivityResult(int requestCode,int resultCode,Intent data){

        super.onActivityResult(requestCode,resultCode,data);

        if(data!=null){

            if(resultCode==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.getAttack());

        mProgressBar3.setProgress(progress3+info.getSpeed());

        mLifeTV.setText(mProgressBar1.getProgress()+"");

        mAttackTV.setText(mProgressBar2.getProgress()+"");

        mSpeedTV.setText(mProgressBar3.getProgress()+"");

    }

}

select ShopActivity.java

package cn.itcast.select;

import android.content.Intent;

import android.support.v7.app.AppCompatActivity;

import android.os.Bundle;

import android.view.View;

import android.widget.TextView;

import cn.itcast.domain.ItemInfo;

public class ShopActivity extends AppCompatActivity implements View.OnClickListener {

    private ItemInfo[] itemInfo=new ItemInfo[3];

    @Override

    protected void onCreate(Bundle savedInstanceState) {

        super.onCreate(savedInstanceState);

        setContentView(R.layout.activity_shop);

        itemInfo[0]=new ItemInfo("金剑 ",100,50,20);

        itemInfo[1]=new ItemInfo("铠甲 ",20,100,40);

        itemInfo[2]=new ItemInfo("战靴 ",20,40,100);

        int[] rl={R.id.rl1,R.id.rl2,R.id.rl3};

        int[] name={R.id.tv_name1,R.id.tv_name2,R.id.tv_name3};

        int[] life={R.id.tv_life1,R.id.tv_life2,R.id.tv_life3};

        int[] speed={R.id.tv_speed1,R.id.tv_speed2,R.id.tv_speed3};

        int[] attack={R.id.tv_attack1,R.id.tv_attack2,R.id.tv_attack3};

        for(int i=0;i<3;i++){

            findViewById(rl[i]).setOnClickListener(this);

            TextView mNameTV=(TextView)findViewById(name[i]);

            TextView mLifeTV=(TextView)findViewById(life[i]);

            TextView mSpeedTV=(TextView)findViewById(speed[i]);

            TextView mAttackTV=(TextView)findViewById(attack[i]);

            mNameTV.setText(itemInfo[i].getName()+"");

            mLifeTV.setText("生命值+"+itemInfo[i].getLife());

            mSpeedTV.setText("敏捷度+"+itemInfo[i].getSpeed());

            mAttackTV.setText("攻击力+"+itemInfo[i].getAttack());

        }

    }

    @Override

    public void onClick(View v){

        switch (v.getId()){

            case R.id.rl1:

                Intent intent1=new Intent();

                intent1.putExtra("equipment",itemInfo[0]);

                setResult(1,intent1);

                finish();

                break;

            case R.id.rl2:

                Intent intent2=new Intent();

                intent2.putExtra("equipment",itemInfo[1]);

                setResult(1,intent2);

                finish();

                break;

            case R.id.rl3:

                Intent intent3=new Intent();

                intent3.putExtra("equipment",itemInfo[2]);

                setResult(1,intent3);

                finish();

                break;

        }

    }

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