提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
前言
三个页面的跳转类似于进入微信后的图片显示然后自动跳转到主界面然后通过点击进入聊天界面。
一、首先使用ADT 创建文件
打开文件
创建三个文件的截屏
点下一步(next)即可。注意下面这个地方需要改名
第一个页面
1:进行第一个页面的Android代码编写
点击代码视图
代码在这(因为只有一张图片代码很简单)
<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"
tools:context=".MainActivity"
android:background="@drawable/ic_launcher" > <!--第一个页面图片 -->
</LinearLayout>
2:进行一个页面的Java代码编写
代码如下
package com.example.day7m5;
import android.os.Build;
import android.os.Bundle;
import android.annotation.SuppressLint;
import android.annotation.TargetApi;
import android.app.Activity;
import android.content.Intent;
import android.view.Menu;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.WindowManager;
import android.widget.Button;
public class MainActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// 隐藏状态栏
getWindow().addFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN);
// 隐藏标题栏
getActionBar().hide();
setContentView(R.layout.activity_main);
// 自动跳转
Thread t = new Thread(new Runnable() {
@Override
public void run() {
try {
Thread.sleep(3000);// 3000毫秒=3秒(跳转时间)
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
// 所要跳转到的页面
Intent it = new Intent(getApplicationContext(),
InfoActivity.class);
startActivity(it);
}
});
t.start();
}
}
第二个页面
Android部分代码(代码较长但并不难)
<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=".InfoActivity" >
<LinearLayout
android:layout_width="match_parent"
android:layout_height="50dp">
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:background="#394144"
android:textColor="#fff"
android:text="用户注册"/>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="50dp"
>
<TextView
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:gravity="center_vertical|right"
android:text="账号:"/>
<EditText
android:id="@+id/et_username"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="2"
android:background="@drawable/color_show"/>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="50dp"
>
<TextView
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:gravity="center_vertical|right"
android:text="密码:"/>
<EditText
android:id="@+id/et_pass"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="2"
android:background="@drawable/color_show"/>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="50dp"
>
<TextView
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:gravity="center_vertical|right"
android:text="班级:"/>
<Spinner
android:id="@+id/spi"
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="2"/>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="50dp"
>
<TextView
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:gravity="center_vertical|right"
android:text="性别:"/>
<RadioGroup
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="2"
android:orientation="horizontal"
>
<RadioButton
android:id="@+id/rb_m"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:text="男"/>
<RadioButton
android:id="@+id/rb_w"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:text="女"/>
</RadioGroup>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content">
<TextView
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="1"
android:gravity="center_vertical|right"
android:text="爱好:"/>
<LinearLayout
android:layout_width="0dp"
android:layout_height="match_parent"
android:layout_weight="2"
android:orientation="vertical">
<CheckBox
android:id="@+id/cb_1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="上网"/>
<CheckBox
android:id="@+id/cb_2"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="聊天"/>
<CheckBox
android:id="@+id/cb_3"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="睡觉"/>
<CheckBox
android:id="@+id/cb_4"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="看书"/>
</LinearLayout>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="50dp"
android:layout_gravity="center">
<Button
android:id="@+id/btn_commit"
android:layout_width="100dp"
android:layout_height="match_parent"
android:background="@drawable/btn_color"
android:text="确定"/>
<Button
android:id="@+id/btn_cancle"
android:layout_width="100dp"
android:layout_height="match_parent"
android:background="@drawable/btn_color"
android:text="取消"/>
</LinearLayout>
</LinearLayout>
上面代码的视图样式
上图中班级涉及下拉列表需要新建一个类,创建截屏和代码如下
下拉列表代码
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="50dp"
android:orientation="horizontal"
>
<LinearLayout
android:layout_width="300dp"
android:layout_height="wrap_content"
android:orientation="vertical">
<TextView
android:id="@+id/tv1"
android:layout_width="match_parent"
android:layout_height="30dp"
android:textColor="#ff0000"
android:textSize="20dp"/>
<TextView
android:id="@+id/tv2"
android:layout_width="match_parent"
android:layout_height="30dp"
android:textSize="20dp"/>
</LinearLayout>
</LinearLayout>
账号,密码输入框和确定,取消按键形式的创建地方的截图和代码
在图片存放的地方创建
1:输入框形式代码
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" >
<corners android:radius="10dp"/>
<solid android:color="#fff"/>
<stroke android:width="1dp"
android:color="#0271dc"/>
</shape>
2:按键形式代码
<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android" >
<corners android:radius="10dp"/>
<solid android:color="#00920b"/>
<stroke android:width="1dp"
android:color="#16621c"/>
</shape>
Java部分代码
传递数据到下一页面
package com.example.day7m5;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
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.RadioButton;
import android.widget.SimpleAdapter;
import android.widget.Spinner;
import android.widget.TextView;
public class InfoActivity extends Activity implements OnClickListener {
// 定义
private Spinner spi;
private EditText etUserName, etPass;
private RadioButton rbM, rbW;
private CheckBox cb1, cb2, cb3, cb4;
private Button btnCommit, btnCancle;
String[] str = null;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_info);
init();
btnCommit.setOnClickListener(this);
str = new String[] { "移动1", "移动2", "移动3" };
ArrayAdapter<String> adapter = new ArrayAdapter<String>(
getApplicationContext(), R.layout.item1);
spi.setAdapter(adapter);
String[] con = new String[] { "asd", "qwe", "zcv" };
List<Map<String, Object>> li = new ArrayList<Map<String, Object>>();
for (int i = 0; i < con.length; i++) {
Map<String, Object> sho = new HashMap<String, Object>();
sho.put("st", str[i]);
sho.put("item1", con[i]);
li.add(sho);
}
SimpleAdapter adapter1 = new SimpleAdapter(getApplicationContext(), li,
R.layout.item1, new String[] { "st", "item1" }, new int[] {
R.id.tv1, R.id.tv2 });
spi.setAdapter(adapter1);
}
// 找到定义的内容
private void init() {
spi = (Spinner) findViewById(R.id.spi);
etUserName = (EditText) findViewById(R.id.et_username);
etPass = (EditText) findViewById(R.id.et_pass);
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);
}
@Override
public void onClick(View v) {
// 4:获取用户名输入框内容
String userName = etUserName.getText().toString();
// 5:获取密码输入框内容
String pass = etPass.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 = spi.getSelectedItemPosition();
String spItem = str[i];
// 8:传值跳转
Intent it = new Intent(getApplicationContext(), ShowActivity.class);
// 9:传递数据
it.putExtra("a1", userName);
it.putExtra("a2", pass);
it.putExtra("a3", sex);
it.putExtra("a4", fav);
it.putExtra("a5", spItem);
startActivity(it);
}
}
第三个页面
Android部分
加个ID即可
Java部分 接收上页面传递的信息进行显示
package com.example.day7m5;
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 ShowActivity extends Activity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_show);
// 获取上一个页面传递过来的数据
Intent it = getIntent();
String userName = it.getStringExtra("a1");
String pass = it.getStringExtra("a2");
String sex = it.getStringExtra("a3");
String fav = it.getStringExtra("a4");
String spItem = it.getStringExtra("a5");
String str = userName + ":" + pass + ":" + sex + ":" + fav + ":"
+ spItem;
// 显示这些数据
// 1:吐司显示
Toast.makeText(getApplicationContext(), str, 1).show();
// 2:文本框显示
TextView tvshow = (TextView) findViewById(R.id.tv_show);
tvshow.setText(str);
}
}
总结
这是三个页面跳转的基础,可以举一反三进行更多页面的跳转。