一、传统 View (XML) 页面 3 个核心步骤

  1. 创建布局 xmlres/layout 新建页面布局文件,写 UI 控件。
  2. 创建 Activity 类 新建 Kotlin/Java Activity,setContentView 绑定上面的布局。
  3. AndroidManifest.xml 注册页面 在清单文件中添加 <activity> 标签,系统才能识别该页面;首页需要加 intent-filter

举例:

第一步:布局 res/layout/activity_main.xml

<?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="match_parent">

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Java 第一个页面"/>

</LinearLayout>

第二步:MainActivity.java(Java 代码)

package com.example.myapplication;

import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;

public class MainActivity extends AppCompatActivity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        // 绑定布局(核心代码)
        setContentView(R.layout.activity_main);
    }
}

第三步:AndroidManifest.xml 注册

<activity
    android:name=".MainActivity"
    android:exported="true">
    <intent-filter>
        <action android:name="android.intent.action.MAIN" />
        <category android:name="android.intent.category.LAUNCHER" />
    </intent-filter>
</activity>

二、实现activity之间的跳转

页面1:activity_main.xml(带跳转按钮)

<?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="match_parent"
    android:gravity="center">

    <!-- 跳转按钮 -->
    <Button
        android:id="@+id/btn_jump"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="跳转到第二个页面"/>

</LinearLayout>

MainActivity.java(页面1,点击跳转)

package com.example.myapplication;

import androidx.appcompat.app.AppCompatActivity;
import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;

public class MainActivity extends AppCompatActivity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        // 绑定布局
        setContentView(R.layout.activity_main);

        // 获取按钮控件
        Button btnJump = findViewById(R.id.btn_jump);
        // 设置点击事件
        btnJump.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                // 创建意图,指定从当前页跳转到Activity2
                Intent intent = new Intent(MainActivity.this, Activity2.class);
                // 执行页面跳转
                startActivity(intent);
            }
        });
    }
}

页面2布局:activity_second.xml

<?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="match_parent"
    android:gravity="center">

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="这是第二个页面"/>

</LinearLayout>

Activity2.java(第二个页面)

package com.example.myapplication;

import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;

public class Activity2 extends AppCompatActivity {
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        // 绑定第二个页面布局
        setContentView(R.layout.activity_second);
    }
}

AndroidManifest.xml 注册两个Activity

<!-- 首页Activity -->
<activity
    android:name=".MainActivity"
    android:exported="true">
    <intent-filter>
        <action android:name="android.intent.action.MAIN" />
        <category android:name="android.intent.category.LAUNCHER" />
    </intent-filter>
</activity>

<!-- 第二个页面必须注册,否则跳转崩溃 -->
<activity
    android:name=".Activity2"
    android:exported="false"/>

核心知识点

  1. Intent:安卓页面跳转、组件通信的载体
  2. startIntent():启动新页面
  3. 所有Activity必须在Manifest注册,否则无法跳转
Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐