一、 概述
Activity 是一种可以包含用户界面的组件,主要用于和用户进行交互。一个应用程序可以包含零个或多个Activity 。
二、 Activity 与布局
Android 程序的设计讲究逻辑和视图分离,最好每一个Activity
都能对应一个布局。
2.1 布局文件(xml 文件)
<Button
android:id="@+id/button1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="@string/button1" />
- 在 XML 文件 引用一个id :
@id/id_name
- 在 XML 文件定义一个id :
@+id/id_name
android:layout_width="match_parent"
:表示当前元素宽度和父类元素一样宽。android:layout_height="wrap_content"
: 表示当前元素高度只要能刚好包含里面内容就行。
2.2 Activity 加载 布局
setContentView(layout.activity_main);
2.3 Activity 获取布局文件的元素
在Activity 中,可以通过 findViewById() 方法获取布局文件中定义的元素,该方法返回的是一个继承自View 的泛型对象。
button = (Button)findViewById(R.id.button1);
三、 注册 Activity
所有的Activity 都要在 AndroidManifest.xml
中进行注册才能生效。
<application
android:allowBackup="true"
android:dataExtractionRules="@xml/data_extraction_rules"
android:fullBackupContent="@xml/backup_rules"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/Theme.App_Demo_LED"
tools:targetApi="31">
<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>
</application>
- Activity 的注册声明要放在 标签内
- 通过 标签来对 Activity 进行注册
- 在 标签中,使用
android:name
来指定具体注册哪一个Activity 。
为程序配置主Activity
配置主Activity ,确定程序跑起来时首先启动哪个Activity 。
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>