活动
它是一种可以包含用户界面的组件,主要用于和用户进行交互
一个应用程序中可以包含0个或多个活动
手动创建活动
- 大体步骤
- 新建项目,选择Add No Activity
- 右击com.example.activitytest包
- New->Activity->Empty Activity
- 命名为FirstActivity之后完成创建
- 配置
- Generate Layout File
表示会自带为FirstActivity创建一个布局文件 - Launcher Activity
设置为当前项目的主活动 - Backwards Compatibility
表示会为项目启用向下兼容的模式
- Generate Layout File
手动创建和加载布局
最好每一个活动都能对应一个布局,布局就是用来显示界面内容的
- 大体步骤
- 右击app/src/main/res目录
- New->Directory,先创建一个名为layout的目录
- 右击layout目录,选择Layout resource file
- 对布局文件命名,根元素默认选择LinearLayout
- 切换卡
- design
当前的可视化布局编辑器
预览当前的布局
通过拖放的方式编辑布局 - text
通过XML文件的方式来编辑布局
12345<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android">android:orientation="vertical"android:layout_width="match_parent"android:layout_height="match_parent"</LinearLayout>添加一个按钮
1234567891011<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android">android:orientation="vertical"android:layout_width="match_parent"android:layout_height="match_parent"<Buttonandroid:id="@+id/button_1"android:layout_width="match_parent"android:layout_height="wrap_content"android:text="Button 1"/></LinearLayout>android:id
给当前元素定义一个唯一标识符
在xml里面:
使用@+id/id_name定义一个id
使用@id/id_name来使用一个id
android:layout_width
指定当前元素的宽带
match_parent
表示当前元素和父元素一样宽
android:layout_height
指定当前元素的高度
wrap_content
表示当前元素的高度只要能刚好包含里面的内容就可以
android:text
指定元素中显示的文字内容
- design
- 在活动中加载这个布局
- 回到FirstActivity,在onCreate()方法中
1234567public class FirstActivity extends AppCompatActivity {@Overrideprotected void onCreate(Bundle savedInstanceState) {super.onCreate(savedInstanceState);setContentView(R.layout.first_layout);}}使用setContentView()来给当前活动加载一个布局,参数为布局文件的id
- 回到FirstActivity,在onCreate()方法中
注册
所有活动都必须在AndroidManifest.xml中进行注册才能生效
- 实际上FirstActivity已经注册过了,如下
12345678910<mainfest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.activitytest"><applicationandroid:allowBackup="true"android:icon="@mipmap/ic_launcher"android:label="@string/app_name"android:supportsRtl="true"android:theme="@style/AppTheme"><activity android:name=".FirstActivity"></activity></application></mainfest>可以看到,活动的注册声明要放到
标签内
同时这个地方是通过标签来对活动进行注册的(Android Studio做的这个动作) 标签内
android:name指定具体注册了哪一个活动
.FirstActivity其实就是com.example.activitytest.FirstActivity的缩写
之所以可以用这样的一个缩写
是因为在外层标签内,已经通过package属性指定了包名是com.example.activitytest了 - 为程序配置主活动
完成上面步骤的手动注册工作后,其实程序还是跑不起来的,因为我们还需要给程序配置主活动12345678910111213141516<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.activitytest"><applicationandroid:allowBackup="true"android:icon="@mipmap/ic_launcher"android:label="@string/app_name"android:supportsRtl="true"android:theme="@style/AppTheme"><activity android:name=".FirstActivity"android:label="This is FirstActivity"><intent-filter><action android:name="android.intent.action.MAIN" /><category android:name="android.intent.category.LAUNCHER"/></intent-filter></activity></application></manifest>经过这个配置之后,FirstActivity就成为这个程序的主活动了,即,点击桌面应用程序图标时首先启动的就是这个活动
注:
如果应用程序中没有声明任何一个活动为主活动,这个程序任然可以正常安装,但是无法在启动器里看到或打开这个程序
本文为原创文章,版权归Aet所有,欢迎分享本文,转载请保留出处!
你可能也喜欢
- ♥ Android10/02
- ♥ 应用开发特色10/02
- ♥ 排序_插入排序09/04
- ♥ 【AcWing 语法基础课 第六讲】03/02
- ♥ Reading 2020 《而已集》10/22
- ♥ 大话数据结构_线索二叉树11/04