Android studio页面跳转

页面跳转用到的关键字:intent。

intent是连接activity组件的桥梁,分为显式和隐式两种,其中显式intent是直接指定需要打开activity对应的类。而隐式不直接指定需要调用的activity,通过设action,data,category让系统筛选出合适的Acticity。例如:
Android studio页面跳转_第1张图片
这里如果是显式intent,则会自动跳转到默认地图里,而隐式就会打开可供用户选择的地图类型,很容易区分。

下面用一个实例展示用显式intent实现注册页面的跳转功能。
Login.java

package activity;

import androidx.appcompat.app.AppCompatActivity;

import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;

import net.hnjdzy.tinyaccount.R;

public class LoginActivity extends AppCompatActivity {
    Button btnLogin;
    EditText editTextName, editTextPwd;
    TextView textViewRegister;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_login);//xml和java连接起来
        btnLogin = (Button) this.findViewById(R.id.buttonLogin);//绑定按钮登录框
        editTextName = (EditText) this.findViewById(R.id.editTextName);//绑定用户名登录框
        editTextPwd = (EditText) this.findViewById(R.id.editTextPassword);//初始化控件
        textViewRegister = (TextView) this.findViewById(R.id.textViewRegister);
        btnLogin.setOnClickListener(new View.OnClickListener() {//通过匿名内部类,实现点击事件监听器接口
            @Override
            public void onClick(View v) {//视图被点击以后调用
                Login();

            }
        });//监听器回调Login方法

        textViewRegister.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                Register();
            }
        });

    }

    //定义登录方法
    private void Login() {
        String name = editTextName.getText().toString(); //获取文本框输入的姓名
        String pwd = editTextPwd.getText().toString();//获取文本框输入的密码
        if (name.equals("admin") && pwd.equals("admin")) {
            Toast.makeText(this, "登录成功", Toast.LENGTH_LONG).show();//弹出登录成功窗口,要用到Toast类的makeText方法
            //三个信息,第一个上下文,第二个提示的信息,第三个提示显示的时间
        } else {
            Toast.makeText(this, "登录失败", Toast.LENGTH_LONG).show();//弹出登录失败窗口
        }
    }

    //定义跳转方法
    private void Register() {
    Intent intent=new Intent();//创建intent对象
    intent.setClass(this,RegisterActivity.class);//指定从当前页面跳转登录页面
    startActivity(intent);//启动intent
    }
}

activity_Login.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical"
    tools:context="activity.LoginActivity">


    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical">


        <ImageView
            android:id="@+id/imageView"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:background="@color/colorPrimary"
            app:srcCompat="@drawable/default_user_logo" />


    </LinearLayout>
    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:orientation="vertical"
        tools:ignore="ExtraText"
        android:layout_marginTop="50dp"
        android:layout_marginLeft="5dp"
        android:layout_marginRight="5dp"
        >

        <TextView
            android:id="@+id/textView11"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="用户昵称" />

        <EditText
            android:id="@+id/editTextName"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:ems="10"
            android:inputType="textPersonName"
             android:hint="请输入用户名" />

        <TextView
            android:id="@+id/textView13"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="密码" />

        <EditText
            android:id="@+id/editTextPassword"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:ems="10"
            android:inputType="textPassword"

            android:hint="请输入密码"
            tools:ignore="OnClick" />

        <Button
            android:id="@+id^ttonLogin"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:background="#FF8833"
            android:text="登录" />
    </LinearLayout>

    <LinearLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:orientation="horizontal"
        android:layout_marginTop="20dp"
        >

        <TextView
            android:id="@+id/textViewNoPassword"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:textColor="@color/colorPrimary"
            android:layout_weight="1"
            android:layout_marginLeft="10dp"

            android:text="忘记密码" />

        <TextView
            android:id="@+id/textViewRegister"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:textColor="@color/colorPrimary"
            android:layout_weight="1"
            android:gravity="right"
            android:layout_marginRight="10dp"
            android:text="注册用户" />
    </LinearLayout>


</LinearLayout>

activity_register.xml

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_margin="5dp"
    tools:context="activity.RegisterActivity">

    <ImageView
        android:id="@+id/imageView2"
        android:layout_width="wrap_content"
        android:layout_height="100dp"
        android:background="@color/colorPrimary"
        app:srcCompat="@drawable/user_reg" />

    <TextView
        android:id="@+id/textView2"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@id/imageView2"

        android:layout_marginStart="35dp"
        android:layout_marginTop="10dp"
        android:text="昵称" />

    <EditText
        android:id="@+id/editTextTextPersonName3"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:ems="10"
        android:inputType="textPersonName"
        android:layout_below="@id/textView2"
        android:layout_marginStart="35dp"
        android:layout_marginEnd="35dp"
        android:layout_marginTop="10dp"
       android:hint="请输入用户名" />

    <TextView
        android:id="@+id/textView4"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginStart="35dp"
        android:layout_marginTop="10dp"
        android:layout_below="@id/editTextTextPersonName3"
        android:text="密码" />

    <EditText
        android:id="@+id/editTextTextPassword2"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:ems="10"
        android:layout_below="@id/textView4"
        android:layout_marginLeft="35dp"
        android:layout_marginRight="35dp"
        android:layout_marginTop="10dp"
        android:hint="请输入密码"
        android:inputType="textPassword" />

    <EditText
        android:id="@+id/editTextTextPassword3"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:ems="10"
        android:layout_below="@id/editTextTextPassword2"
        android:layout_marginStart="35dp"
        android:layout_marginEnd="35dp"
        android:layout_marginTop="10dp"
        android:hint="确认密码"
        android:inputType="textPassword" />

    <TextView
        android:id="@+id/textView5"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@id/editTextTextPassword3"
        android:layout_marginStart="35dp"
        android:layout_marginTop="10dp"
        android:text="密码提示" />

    <EditText
        android:id="@+id/editTextTextPersonName4"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:ems="10"
        android:inputType="textPersonName"
        android:layout_marginStart="35dp"
        android:layout_marginEnd="35dp"
        android:layout_marginTop="10dp"
        android:layout_below="@id/textView5"
        android:hint="密码提示"/>

    <Button
        android:id="@+id^tton2"
        android:layout_width="200dp"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
        android:layout_marginBottom="50dp"
        android:layout_centerHorizontal="true"
        android:background="#FF83"
        android:text="注册" />
</RelativeLayout>

运行效果:
Android studio页面跳转_第2张图片
Android studio页面跳转_第3张图片

你可能感兴趣的:(笔记)