入门
大约 2 分钟android
概述
所有 activity 在文件 app/src/main/AndroidManifest.xml 中注册在标签 application 下(以 activity 包裹)
在 Android Studio 通过右键创建 activity 时连带创建的 xml 文件默认使用 androidx.constraintlayout.widget.ConstraintLayout ,在其中使用多个控件会有报错,可以修改为使用 LinearLayout,例如下面代码的第二行
<?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:id="@+id/main"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity"
android:orientation="vertical"
android:padding="16dp">
<TextView
android:id="@+id/username"
android:textColor="@color/black"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Hello World!"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<Button
android:id="@+id/btn"
android:layout_marginTop="10dp"
android:text="点击我"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
tools:ignore="MissingConstraints" />
</LinearLayout>
android 中的 activity 作为类似 web 中的一个页面,但是只是作为页面的逻辑层,视图层一般在 app/src/main/res/layout 下,在 activity 中绑定视图文件 *.xml ,例如下面代码中通过 setContentView 绑定 Mainactivity 的视图 xml 文件
package com.xdf.firstnative;
import android.os.Bundle;
import android.widget.TextView;
import androidx.activity.EdgeToEdge;
import androidx.appcompat.app.AppCompatActivity;
import androidx.core.graphics.Insets;
import androidx.core.view.ViewCompat;
import androidx.core.view.WindowInsetsCompat;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
EdgeToEdge.enable(this);
setContentView(R.layout.activity_main);
ViewCompat.setOnApplyWindowInsetsListener(findViewById(R.id.main), (v, insets) -> {
Insets systemBars = insets.getInsets(WindowInsetsCompat.Type.systemBars());
v.setPadding(systemBars.left, systemBars.top, systemBars.right, systemBars.bottom);
return insets;
});
// 代码控制控件
TextView tv = findViewById(R.id.username);
tv.setText("cc");
}
}
新建 activity
通过下面方法创建新 activity,通过点击按钮打开该页面的方法参见 控件/Button.md 中绑定点击事件的代码

点击按钮打开activity
参见 控件/Button.md 中介绍的按钮点击事件的使用方法
关闭当前activity
在当前页面的控件绑定点击事件中使用方法 finish
package com.xdf.firstnative.activity;
import android.os.Bundle;
import android.view.View;
import android.widget.TextView;
import androidx.activity.EdgeToEdge;
import androidx.appcompat.app.AppCompatActivity;
import androidx.core.graphics.Insets;
import androidx.core.view.ViewCompat;
import androidx.core.view.WindowInsetsCompat;
import com.xdf.firstnative.R;
public class SecondActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
EdgeToEdge.enable(this);
setContentView(R.layout.activity_second);
ViewCompat.setOnApplyWindowInsetsListener(findViewById(R.id.main), (v, insets) -> {
Insets systemBars = insets.getInsets(WindowInsetsCompat.Type.systemBars());
v.setPadding(systemBars.left, systemBars.top, systemBars.right, systemBars.bottom);
return insets;
});
//#region 绑定文本点击事件
TextView tv = findViewById(R.id.username);
tv.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
finish();
}
});
//#endregion
}
}
