众所周知,Android开发中存在着四大组件,包括:Activity、Service、BroadcastReceiver和ContentProvider。其中Activity作为四大组件中为用户提供可视化界面的组件,是我们在开发中四大组件使用最为频繁的应用组件,一个应用也通常是由多个彼此松散联系的Activity组成。
基本使用
创建方法
Activity作为一个为用户提供可视化界面的组件,那么首先我们就来介绍下如何一个Activity,如何创建一个简单的用户界面。
实际上,任何Activity的创建都可以大概分为以下几个步骤:
- 创建xml文件,实现界面布局;
- 继承Activity或者其子类如FragmentActivity、AppCompatActivity等实现Activity类,并重写onCreate方法,使用setContentView为Activity指定对应的xml布局;
- 在AndroidMainfest.xml文件中声明Activity。
经过这三个步骤,我们就能够创建一个简单的Activity了。实际上,在我们使用AndroidStudio进行开发时,创建一个Activity极其简单,我们只要创建一个Activity,就会自动生成对应的xml布局,并在AndroidMainfest中完成声明。如图所示:
如上图,AndroidStudio还为我们提供了一些常用的Activity的实现,如LoginActivity和SettingsActivity等,我们选择EmptyActivity即可,然后AndroidStudio就会自动为我们创建Activity子类、xml文件并在AndroidManifest中声明,我们只需要在xml文件中创建布局并在Activity类中实现所需逻辑即可。
创建Activity,继承了AppCompatActivity,并重写onCreate方法,调用setContentView方法为Activity指定了布局,代码如下:
class TestActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_test)
}
}
创建xml文件:
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout 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"
tools:context=".activity.TestActivity">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="hello world"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintBottom_toBottomOf="parent"/>
</androidx.constraintlayout.widget.ConstraintLayout>
在AndroidManifest中声明Activity:
<activity android:name=".activity.TestActivity"></activity>
经过这几个步骤,我们就创建了一个简单的Activity,如果我们需要实现更加复杂的布局和功能,就只需要在xml和自定义Activity类中修改布局,进行功能实现即