Android开发学习笔记——4、activity创建和跳转
·
一、传统 View (XML) 页面 3 个核心步骤
- 创建布局 xml 在
res/layout新建页面布局文件,写 UI 控件。 - 创建 Activity 类 新建 Kotlin/Java Activity,
setContentView绑定上面的布局。 - 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"/>
核心知识点
Intent:安卓页面跳转、组件通信的载体startIntent():启动新页面- 所有Activity必须在Manifest注册,否则无法跳转
更多推荐


所有评论(0)