天天看點

Android-----裝備選擇

本案例實作了購買裝備增加生命值的功能,實作案例的具體步驟如下

1.首先在activity_layout中設定相關屬性

<?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: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"
    android:orientation="vertical"
    android:gravity="center"
    tools:context="cn.itcast.select.myapplication.MainActivity">

    <ImageView
        android:layout_width="wrap_content"
        android:layout_height="150dp"
        android:id="@+id/pet_imgv"
        android:layout_gravity="center_horizontal"
        android:layout_marginBottom="5dp"
        android:layout_marginTop="30dp"
        android:src="@drawable/timg"
        />

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/prt_dialog_tv"
        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_gravity="center"
                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_gravity="center"
                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_marginTop="20dp">
        <Button
            android:id="@+id/btn_host"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentLeft="true"
            android:layout_alignParentTop="true"
            android:drawablePadding="5dp"
            android:drawableRight="@android:drawable/ic_menu_add"
            android:onClick="click"
            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="5dp"
            android:drawableRight="@android:drawable/ic_menu_add"
            android:onClick="click"
            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="13dp"
            android:text="生命值"/>
        <TextView
            android:id="@+id/tv_attack"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:textSize="13dp"
            android:text="攻擊力"/>
        <TextView
            android:id="@+id/tv_speed"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:textSize="13dp"
            android:text="速度"/>
    </LinearLayout>
</RelativeLayout>
           

3.在string.xml下設定name

<resources>
    <string name="app_name">裝備選擇</string>
</resources>
           

4.在Java的包中(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+"]";
    }
}
           

繼續閱讀