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"
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: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_width="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_width="wrap_content"
android:drawablePadding="3dp"
android:drawableRight="@android:draeable/ic_menu_add"
android:onClick="click"
android:text="小宝宝购买装备"
android:textSize="14sp"/>
</RelativeLayout>
</LinearLayout>
2.装备的显示问题
<?xml version="1.0" encoding="utf-8"?>
<RealtiveLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/rl"
android:layout_width="match_parent"
android:layout_height="match_parent"
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>1
3.装备更换后,属性也会随之改变
public class ShopActivity extends Acyivity implements OnClickListener{
private ItemInfo itemInfo;
protected void onCreat(Bundle savedInstanceState){
super.onCreat(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 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;
}
}
4.回应点击事件
public class ShopActivity extends Acyivity implements OnClickListener{
private ItemInfo itemInfo;
protected void onCreat(Bundle savedInstanceState){
super.onCreat(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 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;
}
}
图片演示