我们要实现的三个页面跳转如下所示:
第一个背景页面:
停留3S自动跳转第二个页面:
填写信息后点击确定按钮跳转到第三个页面(其内容为上页所获取内容):
1:需要创建3个activity和下拉列表属性样式items
2:三个activity相对应的Java类
MainActivity.java
SecondActivity.java
InfoActivity.java
3:进行Intent页面跳转
4:进行Toast显示,文本显示
第一个页面代码(创建activity_main页面):
(先在drawable包里边加入页面背景再引用)
<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:background="@drawable/d38d8e8d42c3e189c9f7d648656e176"
tools:context=".MainActivity" >
</LinearLayout>
第一个activity_main背景页面Java代码(主要实现在第一个背景页面停留3s跳转到第二页面):
package com.example.demo01;
import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.view.Menu;
import android.view.WindowManager;
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// 1:隐藏状态栏
getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);
// 2:隐藏标题栏
getActionBar().hide();
setContentView(R.layout.activity_main);
// 1:定义一个子线程
Thread t = new Thread(new Runnable() {
public void run() {
try {
Thread.sleep(3000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
// 2:开启新的activity页面(需要先创建第二个activity<activity_second>)
Intent it = new Intent(getApplicationContext(),
SecondActivity.class);
startActivity(it);
}
});
// 2:启动这个子线程
t.start();
}
}
第二个页面(activity_second)Activity代码:
(在drawable包里边加入样式背景再引用):
账号和密码输入框的边框属性(在drawable包里创建btn_border):
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" >
//边框弧度
<corners android:radius="15dp" />
//填充颜色
<solid android:color="#fff" />
//边框宽度和颜色
<stroke
android:width="1dp"
android:color="#91dcf5" />
</shape>
按钮属性(在drawable包里创建btn_border):
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" >
//边框弧度
<corners android:radius="20dp"/>
//填充颜色
<solid android:color="#019207"/>
//边框宽度和颜色
<stroke android:width="1dp"
android:color="#18671b"/>
</shape>
用户注册的页面:
<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"
tools:context=".SecondActivity" >
<LinearLayout
android:layout_width="match_parent"
android:layout_height="50dp" >
<TextView
android:layout_width="match_parent"
android:layout_height="50dp"
android:background="#425051"
android:gravity="center"
android:text="用户注册"
android:textColor="#fff" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="50dp"
android:orientation="horizontal" >
<TextView
android:layout_width="0dp"
android:layout_height="50dp"
android:layout_weight="1"
android:gravity="center_vertical|right"
android:text="账号:" />
<EditText
android:id="@+id/et_username"
android:layout_width="0dp"
android:layout_height="40dp"
android:layout_weight="4"
android:background="@drawable/et_border"
android:hint="请输入QQ号/手机号" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="50dp"
android:orientation="horizontal" >
<TextView
android:layout_width="0dp"
android:layout_height="50dp"
android:layout_weight="1"
android:gravity="center_vertical|right"
android:text="密码:" />
<EditText
android:id="@+id/et_pwd"
android:layout_width="0dp"
android:layout_height="40dp"
android:layout_weight="4"
android:background="@drawable/et_border" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="50dp"
android:orientation="horizontal" >
<TextView
android:layout_width="0dp"
android:layout_height="50dp"
android:layout_weight="1"
android:gravity="center_vertical|right"
android:text="班级:" />
<Spinner
android:id="@+id/sp_item"
android:layout_width="0dp"
android:layout_height="50dp"
android:layout_weight="4" />
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="50dp" >
<TextView
android:layout_width="0dp"
android:layout_height="40dp"
android:layout_weight="1"
android:gravity="center_vertical|right"
android:text="性别:" />
<RadioGroup
android:layout_width="0dp"
android:layout_height="50dp"
android:layout_weight="4"
android:orientation="horizontal" >
<RadioButton
android:id="@+id/rb_m"
android:layout_width="wrap_content"
android:layout_height="40dp"
android:text="男" />
<RadioButton
android:id="@+id/rb_w"
android:layout_width="wrap_content"
android:layout_height="40dp"
android:text="女" />
</RadioGroup>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="50dp" >
<TextView
android:layout_width="0dp"
android:layout_height="50dp"
android:layout_weight="1"
android:gravity="center_vertical|right"
android:text="爱好:" />
<LinearLayout
android:layout_width="0dp"
android:layout_height="50dp"
android:layout_weight="4"
android:orientation="horizontal" >
<CheckBox
android:id="@+id/cb_1"
android:layout_width="wrap_content"
android:layout_height="50dp"
android:text="上网" />
<CheckBox
android:id="@+id/cb_2"
android:layout_width="wrap_content"
android:layout_height="50dp"
android:text="聊天" />
<CheckBox
android:id="@+id/cb_3"
android:layout_width="wrap_content"
android:layout_height="50dp"
android:text="睡觉" />
<CheckBox
android:id="@+id/cb_4"
android:layout_width="wrap_content"
android:layout_height="50dp"
android:text="看书" />
</LinearLayout>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="50dp"
android:gravity="center" >
<Button
android:id="@+id/btn_commit"
android:layout_width="100dp"
android:layout_height="40dp"
android:background="@drawable/btn_border"
android:text="确定" />
<Button
android:id="@+id/btn_cancle"
android:layout_width="100dp"
android:layout_height="40dp"
android:background="@drawable/btn_border"
android:text="取消" />
</LinearLayout>
</LinearLayout>
SecondActivity Java代码(主要是获取内容传递数据并且进行跳转):
其中设置下拉属性创建(items):
<TextView xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@android:id/text1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:textColor="#000000"
/>
package com.example.demo01;
import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.ArrayAdapter;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.EditText;
import android.widget.ListView;
import android.widget.RadioButton;
import android.widget.Spinner;
import android.widget.Toast;
public class SecondActivity extends Activity implements OnClickListener {
//1:定义所有ID的控件
private EditText etUsername,etPwd;
private RadioButton rbM,rbW;
private CheckBox cb1,cb2,cb3,cb4;
private Button btnCommit,btnCancle;
private Spinner spItem;
String[] items=null;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//2:找到所有ID控件
init();
//3:设置按钮的点击事件
btnCommit.setOnClickListener(this);
//装备控件所显示的数据
items = new String[]{ "移动212","移动213","移动214","移动215"};
//使用适配器进行页面的数据的绑定
ArrayAdapter<String> adapter=new ArrayAdapter<String>(getApplicationContext(), R.layout.items1,items);
spItem.setAdapter(adapter);
}
public void init(){
etUsername=(EditText) findViewById(R.id.et_username);
etPwd=(EditText) findViewById(R.id.et_pwd);
rbM=(RadioButton) findViewById(R.id.rb_m);
rbW=(RadioButton) findViewById(R.id.rb_w);
cb1=(CheckBox) findViewById(R.id.cb_1);
cb2=(CheckBox) findViewById(R.id.cb_2);
cb3=(CheckBox) findViewById(R.id.cb_3);
cb4=(CheckBox) findViewById(R.id.cb_4);
btnCommit=(Button) findViewById(R.id.btn_commit);
btnCancle=(Button) findViewById(R.id.btn_cancle);
spItem = (Spinner) findViewById(R.id.sp_item);
}
@Override
public void onClick(View arg0) {
//4:获取用户名输入内容
String userName=etUsername.getText().toString();
//5:获取密码输入框内容
String pwd=etPwd.getText().toString();
//6:获取性别单选框
String sex="";
if(rbM.isChecked()){
sex=rbM.getText().toString();
}
if(rbW.isChecked()){
sex=rbW.getText().toString();
}
//7:获取爱好多选框内容
String fav="";
if(cb1.isChecked()){
fav +=cb1.getText().toString();
}
if(cb2.isChecked()){
fav +=cb2.getText().toString();
}
if(cb3.isChecked()){
fav +=cb3.getText().toString();
}
if(cb4.isChecked()){
fav +=cb4.getText().toString();
}
//7.2获取下拉列表选中的内容
int i=spItem.getSelectedItemPosition();
String spItem=items[i];
//8:传值跳转
Intent it=new Intent(getApplicationContext(),InfoActivity.class);
//传递数据
it.putExtra("etUsername",userName);
it.putExtra("etPwd",pwd);
it.putExtra("sex",sex);
it.putExtra("fav",fav);
it.putExtra("spItem",spItem);
startActivity(it);
}
}
第三个页面(Toast显示,文本显示)Java代码:
package com.example.demo01;
import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.view.Menu;
import android.widget.TextView;
import android.widget.Toast;
public class InfoActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_info);
//获取上一个页面传递过来的数据
Intent it=getIntent();
String userName=it.getStringExtra("etUsername");
String pwd=it.getStringExtra("etPwd");
String sex=it.getStringExtra("sex");
String fav=it.getStringExtra("fav");
String spItem=it.getStringExtra("spItem");
// 获取的数据放在str
String str = "账号:" + userName + " 密码:" + pwd + " 性别:" + sex
+ " 爱好:" + fav+"班级:"+spItem;
// 在文本框内显示内容
TextView tv_show = (TextView) findViewById(R.id.tv_show);
Toast.makeText(getApplicationContext(), str, 1).show();
tv_show.setText(str);
}
}