文章目录

  • 设置启动窗口,实现跳转窗口
  • (一)创建自定义Activity
  • 1、基于普通类创建自定义Activity
  • 2、基于模板来创建自定义Activity
  • (二)注册自定义Activity
  • 1、查看项目清单文件
  • 2、注册LoginActivity
  • (三)设置启动Activity
  • 1、设置启动Activity的方法
  • 2、将RegisterActivity设置为启动Activity
  • 3、在activity_login.xml和activity_register.xml里面添加一个Button控件
  • (四)修改主界面类
  • 1、修改RegisterActivity类
  • 2、修改LoginActivity类
  • 3、启动应用,查看效果


设置启动窗口,实现跳转窗口

(一)创建自定义Activity

  • 基于Empty Activity创建安卓应用Demo2_1

android开发如何重新创建Activity 安卓新建activity_android

1、基于普通类创建自定义Activity

  • 在net.zh.demo2_1包里新建一个普通Java类

android开发如何重新创建Activity 安卓新建activity_java_02

  • 输入类名LoginActivity

android开发如何重新创建Activity 安卓新建activity_前端_03

  • 给类添加文档注释

android开发如何重新创建Activity 安卓新建activity_java_04

  • 在res/layout目录里创建布局文件activity_login供LoginActivity作为用户界面

android开发如何重新创建Activity 安卓新建activity_自定义_05

  • 设置布局文件名 - activity_login

android开发如何重新创建Activity 安卓新建activity_前端_06

  • 单击【Finish】按钮

android开发如何重新创建Activity 安卓新建activity_xml_07

  • 单击【Finish】按钮

android开发如何重新创建Activity 安卓新建activity_java_08

  • 切换到Code视图

android开发如何重新创建Activity 安卓新建activity_自定义_09

  • 设置线性布局gravity和orientation属性,并且添加一个标签,设置相关属性

android开发如何重新创建Activity 安卓新建activity_自定义_10

  • 修改LoginActivity,继承AppCompatActivity

android开发如何重新创建Activity 安卓新建activity_android_11

  • 创建回调方法onCreate(),利用布局资源文件设置用户界面

android开发如何重新创建Activity 安卓新建activity_android_12

  • 现在启动应用,我们看到的是MainActivity界面,后面我们将LoginActivity设置为启动Activity,重启应用,我们就可以看到LoginActivity界面了。

2、基于模板来创建自定义Activity

  • 基于Empty Activity模板创建自定义Activity

android开发如何重新创建Activity 安卓新建activity_android_13

  • 配置Activity信息

android开发如何重新创建Activity 安卓新建activity_android_14

  • 单击【Finish】按钮

android开发如何重新创建Activity 安卓新建activity_自定义_15

  • 改成线性布局,设置gravity和orientation属性,添加一个标签控件,并设置相关属性

android开发如何重新创建Activity 安卓新建activity_java_16

  • 在实际应用开发中,我们推荐采用第二种方式来创建自定义Activity。

(二)注册自定义Activity

1、查看项目清单文件

  • 点开AndroidManifest.xml文件

android开发如何重新创建Activity 安卓新建activity_xml_17

  • 只有自己继承AppCompatActivity创建的自定义Activity,才需要在项目清单文件里注册。刚才我们创建的LoginActivity就需要我们自己在项目清单文件里注册,而基于模板创建的RegisterActivity,系统已经帮我们注册好了。

2、注册LoginActivity

  • 在元素里添加一个元素,注册LoginActivity

android开发如何重新创建Activity 安卓新建activity_自定义_18

  • 可以设置LoginActivity和RegisterActivyt的label属性

android开发如何重新创建Activity 安卓新建activity_android_19

  • 在字符串资源文件strings.xml里定义login和register变量,修改app_name变量值

android开发如何重新创建Activity 安卓新建activity_xml_20

  • 再查看安卓项目清单文件

android开发如何重新创建Activity 安卓新建activity_前端_21

  • 启动应用,查看效果

android开发如何重新创建Activity 安卓新建activity_java_22

  • 看到的是MainActivity窗口,如果想启动应用时首先看到的是LoginActivity窗口,那么就要在项目清单文件里将LoginActivity设置为启动Activity(Launcher Activity)。

(三)设置启动Activity

1、设置启动Activity的方法

  • 在元素里添加意图过滤器来设置启动Activity
<intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
 </intent-filter>

2、将RegisterActivity设置为启动Activity

  • 给RegisterActivyt设置意图过滤器

android开发如何重新创建Activity 安卓新建activity_java_23

  • 启动应用,查看效果

android开发如何重新创建Activity 安卓新建activity_前端_24

3、在activity_login.xml和activity_register.xml里面添加一个Button控件

  • activity_register.xml

android开发如何重新创建Activity 安卓新建activity_xml_25

<Button
        android:id="@+id/btn_register"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="跳转到登录窗口">
    </Button>
  • activity_login.xml

android开发如何重新创建Activity 安卓新建activity_android_26

<Button
        android:id="@+id/btn_login"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="跳转到主窗口">
    </Button>

(四)修改主界面类

1、修改RegisterActivity类

android开发如何重新创建Activity 安卓新建activity_android_27

package net.zh.demo2_1;

import androidx.appcompat.app.AppCompatActivity;

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

public class RegisterActivity extends AppCompatActivity {

    private Button btnRegister;//定义对象

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        //利用布局资源设置用户界面
        setContentView(R.layout.activity_register);
        //通过资源标识符获取控件实例
        btnRegister = findViewById(R.id.btn_register);
        //按钮点击事件
        btnRegister.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                //填写页面跳转逻辑
                Intent intent = new Intent( RegisterActivity.this,LoginActivity.class);
                                                        //参数1:跳转源地址          //参数2:跳转目的地址
                startActivity(intent);//跳转开始
            }
        });
    }
}

2、修改LoginActivity类

android开发如何重新创建Activity 安卓新建activity_前端_28

package net.zh.demo2_1;

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

import androidx.appcompat.app.AppCompatActivity;
/**
 * 功能:
 * 作者:张浩
 * 日期:2022年09月26
 */
public class LoginActivity extends AppCompatActivity{

    private Button btnLogin;//定义对象

    @Override
    public void onCreate( Bundle savedInstanceState){
        //利用布局资源文件设置用户界面
        super.onCreate(savedInstanceState);
        //通过资源标识符获取控件实例
        setContentView(R.layout.activity_login);
        //注册按钮单击监听器
        btnLogin = findViewById(R.id.btn_login);
        btnLogin.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                //填写页面跳转逻辑
                Intent intent = new Intent( LoginActivity.this,MainActivity.class);
                //参数1:跳转源地址          //参数2:跳转目的地址
                startActivity(intent);//跳转开始
            }
        });
    }
}

3、启动应用,查看效果

android开发如何重新创建Activity 安卓新建activity_前端_29