【无标题】Android的三页面间的自动跳转与主动跳转

本文详细介绍了在Android环境中,如何实现三个页面之间的自动跳转与主动跳转。从ADT创建文件开始,逐步讲解每个页面的Android代码和Java代码编写,包括下拉列表的创建和数据传递到下一页面的过程。最后总结了这一基础操作在多页面跳转中的应用价值。
摘要由CSDN通过智能技术生成

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


前言

 三个页面的跳转类似于进入微信后的图片显示然后自动跳转到主界面然后通过点击进入聊天界面。

一、首先使用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);
	}

}

总结

这是三个页面跳转的基础,可以举一反三进行更多页面的跳转。

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值