训练目标
1) 掌握组件ProgressBar的使用
2) 掌握startActivityForResult方法的使用
1.layout中建立activity-shop,activity-char,activity-register,activity_info文件。
activity-register:
<?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_test" 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.administrator.test.mianactivity"> <RadioGroup android:layout_height="wrap_content" android:layout_width="wrap_content" android:id="@+id/RG" android:orientation="horizontal" android:layout_below="@+id/info"> <TextView android:layout_height="wrap_content" android:layout_width="wrap_content" android:textSize="23dp" android:text="Sex"/> <RadioButton android:layout_height="wrap_content" android:layout_width="wrap_content" android:id="@+id/Man" android:textSize="20sp" android:text="Man" android:layout_marginLeft="10dp"/> <RadioButton android:layout_height="wrap_content" android:layout_width="wrap_content" android:id="@+id/Women" android:textSize="20sp" android:text="Woman" android:layout_marginLeft="10dp"/> </RadioGroup> <LinearLayout android:layout_height="wrap_content" android:layout_width="wrap_content" android:orientation="horizontal" android:layout_below="@+id/RG" android:layout_centerHorizontal="true"> <Button android:id="@+id/btn_register" android:layout_height="wrap_content" android:layout_width="wrap_content" android:text="Register"/> <Button android:id="@+id/btn_cancel" android:layout_height="wrap_content" android:layout_width="wrap_content" android:textSize="15dp" android:text="Cancel" android:layout_marginLeft="10dp"/> </LinearLayout> <LinearLayout android:layout_height="wrap_content" android:layout_width="match_parent" android:id="@+id/info" android:orientation="vertical" android:layout_alignParentTop="true" android:layout_alignParentLeft="true" android:layout_alignParentStart="true"> <LinearLayout android:layout_height="wrap_content" android:layout_width="match_parent" android:orientation="horizontal"> <TextView android:layout_height="wrap_content" android:layout_width="wrap_content" android:textSize="23sp" android:text="UserName"/> <EditText android:layout_height="34dp" android:layout_width="match_parent" android:id="@+id/et_username" android:textSize="15dp" android:gravity="center" android:hint="please input:" android:layout_marginLeft="10dp"/> </LinearLayout> <LinearLayout android:layout_height="wrap_content" android:layout_width="match_parent" android:orientation="horizontal"> <TextView android:layout_height="wrap_content" android:layout_width="wrap_content" android:textSize="23sp" android:text="Password"/> <EditText android:layout_height="34dp" android:layout_width="match_parent" android:id="@+id/et_password" android:textSize="15dp" android:gravity="center" android:hint="please input:" android:layout_marginLeft="10dp" android:inputType="textPassword"/> </LinearLayout> </LinearLayout> </RelativeLayout>
activity-shop:
<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent"> <LinearLayout android:layout_marginLeft="77dp" android:layout_width="wrap_content" android:layout_height="wrap_content" android:orientation="vertical" android:layout_alignTop="@+id/skill" android:layout_toRightOf="@+id/skill" android:layout_toEndOf="@+id/skill" android:layout_marginStart="77dp" android:layout_marginTop="48dp"> <ImageView android:layout_width="50dp" android:layout_height="50dp" android:background="@drawable/y1"/> <RadioButton android:id="@+id/s1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="power+100" android:textSize="23sp"/> <ImageView android:layout_width="50dp" android:layout_height="50dp" android:background="@drawable/y2"/> <RadioButton android:id="@+id/s2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="sen+100" android:textSize="23sp"/> <ImageView android:layout_width="50dp" android:layout_height="50dp" android:background="@drawable/y3"/> <RadioButton android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="health+100" android:textSize="23sp"/> </LinearLayout> <TextView android:layout_marginLeft="21dp" android:id="@+id/itemName" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Shop" android:textSize="23sp" android:layout_alignBottom="@+id/skill" android:layout_toRightOf="@+id/skill" android:layout_toEndOf="@+id/skill" android:layout_marginStart="21dp" android:layout_marginBottom="10dp" /> <ImageView android:id="@+id/skill" android:layout_width="100dp" android:layout_height="100dp" android:background="@drawable/R1" android:layout_alignParentTop="true" android:layout_alignParentLeft="true" android:layout_alignParentStart="true" /> </RelativeLayout>
activity-char:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent"> <TextView android:layout_height="wrap_content" android:layout_width="wrap_content" android:layout_centerHorizontal="true" android:textSize="23sp" android:text="式神情报" android:id="@+id/infomation"/> <ImageView android:layout_height="150dp" android:layout_width="150dp" android:layout_centerHorizontal="true" android:id="@+id/TX" android:layout_marginTop="100dp" android:layout_below="@+id/infomation" android:background="@drawable/y" /> <TextView android:layout_height="wrap_content" android:layout_width="wrap_content" android:layout_centerHorizontal="true" android:textSize="23sp" android:text="ssr" android:id="@+id/status" android:layout_marginTop="10dp" android:layout_below="@+id/TX"/> <LinearLayout android:id="@+id/pb" android:layout_below="@+id/status" android:layout_marginTop="10dp" android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="vertical"> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Health" android:textSize="23sp" android:layout_weight="1"/> <ProgressBar android:id="@+id/health" android:layout_width="150dp" android:layout_height="wrap_content" style="@style/Widget.AppCompat.ProgressBar.Horizontal" android:layout_weight="1" /> <TextView android:id="@+id/healthnum" android:layout_margin="10dp" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="0" android:layout_weight="1" android:textSize="23sp"/> </LinearLayout> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Power " android:textSize="23sp" android:layout_weight="0.09"/> <ProgressBar android:id="@+id/power" android:layout_width="150dp" android:layout_height="wrap_content" style="@style/Widget.AppCompat.ProgressBar.Horizontal" /> <TextView android:id="@+id/powernum" android:layout_margin="10dp" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="0" android:layout_weight="0.10" android:textSize="23sp"/> </LinearLayout> <LinearLayout android:layout_width="match_parent" android:layout_height="wrap_content" android:orientation="horizontal"> <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Sen " android:textSize="23sp" android:layout_weight="1"/> <ProgressBar android:id="@+id/sen" android:layout_width="150dp" android:layout_height="wrap_content" style="@style/Widget.AppCompat.ProgressBar.Horizontal" android:layout_weight="1" /> <TextView android:id="@+id/sennum" android:layout_margin="10dp" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="0" android:layout_weight="1" android:textSize="23sp"/> </LinearLayout> </LinearLayout> <Button android:id="@+id/shop" android:layout_below="@+id/pb" android:layout_centerHorizontal="true" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="Buy Gears"/> </RelativeLayout>
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:orientation="vertical" android:layout_width="match_parent" android:layout_height="match_parent"> <TextView android:layout_height="wrap_content" android:layout_width="wrap_content" android:textSize="23sp" android:text="Test Text" android:layout_marginTop="10dp" android:id="@+id/tv_username"/> <TextView android:layout_height="wrap_content" android:layout_width="wrap_content" android:textSize="23sp" android:text="Test Text" android:layout_marginTop="10dp" android:id="@+id/tv_sex"/> <TextView android:layout_height="wrap_content" android:layout_width="wrap_content" android:textSize="23sp" android:text="Test Text" android:layout_marginTop="10dp" android:id="@+id/tv_password"/> <Button android:id="@+id/gotochar" android:layout_height="wrap_content" android:layout_width="wrap_content" android:text="go to Mycharacter" android:layout_marginTop="200dp" android:layout_gravity="center_horizontal"/> </LinearLayout>
2.java文件中建立charactivity,infoactivity,shopactivity,mianactivity
代码如下:
infoctivity:
package com.example.administrator.test; import android.content.Intent; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.TextView; public class infoactivity extends AppCompatActivity { Button button; TextView tv1,tv2,tv3; String sex,username,password; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activeity_info); button=(Button)findViewById(R.id.gotochar); tv1=(TextView)findViewById(R.id.tv_username); tv2=(TextView)findViewById(R.id.tv_password); tv3=(TextView)findViewById(R.id.tv_sex); Intent getData=getIntent(); Bundle bundle=getData.getExtras(); username=bundle.getString("username"); password=bundle.getString("password"); int code=bundle.getInt("ser"); if(code==1){ sex="Man"; } else if (code==2){ sex="Woman"; } tv1.setText("Your username is"+username); tv2.setText("Your sex is"+sex); tv3.setText("Your password is"+password); pass(); } public void pass() { final Intent intent=new Intent(this,charactivity.class); intent.putExtra("username",username); intent.putExtra("sex",sex); button.setOnClickListener(new View.OnClickListener(){ @Override public void onClick(View view){ startActivity(intent); } });
}
} shopactivity:
public class ShopActivity extends Activity implements View.OnClickListener { @Override private ItemInfo itemInfo; protected void onCreat(Bundle savedInstanceState) { //加载布局 super.onCreate(savedInstanceState); //初始化显示到界面上的数据 itemInfo=new ItemInfo("金剑",100,20,20); 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("power+"+itemInfo.getLife()); mNameTV.setText(itemInfo.getName()+""); mSpeedTV.setText("sen+"+itemInfo.getSpeed()); mAttackTV.setText("health+"+itemInfo.getAcctack()); } public void onClick(View v) { switch(v.getId()){ //证明我们点击的就是这个布局 case R.id.rl: Intent intent=new Intent(); intent.putExtra("equipment",itemInfo); //把结果码返回给调用者 setResult(1,intent); finish(); break; } } }
package com.example.administrator.test; import android.content.Intent; import android.net.Uri; import android.support.v7.app.AppCompatActivity; import android.os.Bundle; import android.view.View; import android.widget.Button; import android.widget.EditText; import android.widget.RadioButton; import com.google.android.gms.appindexing.Action; import com.google.android.gms.appindexing.AppIndex; import com.google.android.gms.appindexing.Thing; import com.google.android.gms.common.api.GoogleApiClient; public class mianactivity extends AppCompatActivity implements View.OnClickListener { Button b1, b2; EditText et1, et2; RadioButton rb1, rb2; int sex; String username,passwork; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_register); b1 = (Button) findViewById(R.id.btn_register); b2=(Button)findViewById(R.id.btn_cancel); et1=(EditText)findViewById(R.id.et_username); et2=(EditText)findViewById(R.id.et_password); rb1=(RadioButton)findViewById(R.id.Man); rb2=(RadioButton)findViewById(R.id.Women); b1.setOnClickListener(this); b2.setOnClickListener(this); } public void onClick(View v){ switch (v.getId()){ case R.id.btn_register: username=et1.getText().toString(); passwork=et2.getText().toString(); if (rb1.isChecked()){ sex=1; }else if (rb2.isChecked()){ sex=2; } passData(); break; case R.id.btn_cancel: break; } } public void passData(){ Intent intent=new Intent(this,infoactivity.class); Bundle bundle=new Bundle(); bundle.putString("username",username); bundle.putString("password",passwork); bundle.putInt("sex",sex); intent.putExtras(bundle); startActivity(intent); }
3.AndroidMainfest.xml:
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.administrator.test"> <application android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:supportsRtl="true" android:theme="@style/AppTheme"> <activity android:name=".mianactivity" android:label="Register"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <activity android:name=".infoactivity" android:label="Information"/> <activity android:name=".charactivity" android:label="Character"/> <activity android:name=".shopactivity" android:label="Shop"></activity> </application> </manifest>
使用java代码实现各个文件的连接,既可完成装备选择。
实验结果类似下图