Activity入门
何为Activity
简单粗暴理解就是用户看到的界面
创建Activity
1.点击导航栏File→Close Project。然后再建一个Android项目,并选择Add No Activity,接着next->finsh
2.将Android改为project模式便于查看
好了以上步骤做完就可以真正开始创建Activity了
3.现在右击com.example.activitytest包→New→Activity→Empty Activity,会弹出一个创建
Activity的对话框,我们将Activity命名为FirstActivity,并且不要勾选Generate Layout File
和Launcher Activity这两个选项
勾选Generate Layout File表示会自动为FirstActivity创建一个对应的布局文件
勾选Launcher Activity表示会自动将FirstActivity设置为当前项目的主Activity。
创建完成后会有以下代码
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
}
}
任何Activity都应该重写onCreate()方法,而目前我们的FirstActivity中已经重写了这个方法,这是Android Studio自动帮我们完成的
创建和加载布局
Android程序的设计讲究逻辑和视图分离,最好每一个Activity都能对应一个布局。布局是用来显示界面内容的,我们现在就来手动创建一个布局文件。
右击app/src/main/res目录→New→Directory,会弹出一个新建目录的窗口,这里先创建一个名为layout的目录。然后对着layout目录右键→New→Layout resource file,又会弹出一个新建布局资源文件的窗口,我们将这个布局文件命名为first_layout,根元素默认选择为
LinearLayout
点击code可查看代码,点击split可同时看代码和视图
补充点小知识
@+id/button1是表示将一个id命名为button1
android:layout_width=“match_parent” 表示宽度
android:layout_height="wrap_content"表示高度
- 给当前的Activity添加个按钮,具体代码如下
<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
>
<Button
android:id="@+id/button2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="button2"
tools:ignore="DuplicateIds,MissingConstraints"
tools:layout_editor_absoluteX="16dp"
tools:layout_editor_absoluteY="48dp" />
</androidx.constraintlayout.widget.ConstraintLayout>
写完之后呢,我们需要回到FirstActivity加载布局
2.加载布局
<?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">
<Button
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Button2"/>
</LinearLayout>
3.在AndroidManifest文件中注册
具体代码如下
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.activitytest">
<application
...>
<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>
接着点击运行,就可以看到如下效果了
总结
总结一下,创建一个activity的步骤
1.在com.example.xx很长的英文的包下新建一个activity
2.在res里的layout(如果没有要自己建)里新建一个layoutresourcefie文件,并在里面写入类似按钮组件
3.回到activity(也就是第一步创建的kt文件)进行布局加载
4.最后回到AndroidManifest文件中注册就可以了