活动是什么
活动activity是最吸引用户的地方,它是一种可以包含用户界面的组件,主要用于和用户进行交互,App至少拥有一个Activity。
活动的基本用法
活动创建过程
1.新建Kotlin类 继承 AppCompatActivity
2.重写Oncreate()方法
3.绑定布局 setContentView(布局id)
4.在AndroidMainifest.xml注册
在布局ID中添加控件
布局控件位置:res/layout/activity_main.xml
常用布局控件
基础公共属性:
layout_width/layout_height:match_parent铺满父容器
wrap_content包裹内容
dp尺寸单位
margin外边距
padding内边距
gravity内部对齐
1.LinearLayout 线性布局 (垂直或者水平)
垂直/水平的XML布局示例
<?xml version="1.0" encoding="utf-8"?>
<!--线性布局必要属性 orientation -->
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/main"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" //垂直
android:orientation="horizontal" //水平
android:padding="30dp">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="我是文本TextView"
android:textSize="18sp"/>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="我是按钮Button"
android:layout_marginTop="15dp"/>
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="请输入内容"
android:layout_marginTop="15dp"/>
</LinearLayout>

ConstraintLayout 约束布局(主流推荐)
<?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"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:padding="20dp">
<TextView
android:id="@+id/tv_title"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="约束布局标题"
android:textSize="20sp"
app:layout_constraintTop_toTopOf="parent"
app:layout_constraintStart_toStartOf="parent"/>
<Button
android:id="@+id/btn_ok"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="确定"
app:layout_constraintTop_toBottomOf="@id/tv_title"
app:layout_constraintStart_toStartOf="parent"
android:layout_marginTop="20dp"/>
</androidx.constraintlayout.widget.ConstraintLayout>
常用单选/复选控件
RadioGroup 单选
<RadioGroup
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:orientation="horizontal">
<RadioButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="男"/>
<RadioButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="女"/>
</RadioGroup>
CheckBox 复选
<CheckBox
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="记住密码"/>

在AndroidMainifest.xml文件中注册

在活动中使用Toast
toast简介:Toast 是短暂弹出的提示消息,自动显示、自动消失,不占用焦点。
默认底部显示
Toast.makeText(this, "登录成功", Toast.LENGTH_SHORT).show()
// 长时提示
Toast.makeText(this, "网络请求失败", Toast.LENGTH_LONG).show()
在活动中使用Menu菜单
Menu的作用:页面右上角三点菜单、选项菜单,放设置、关于、退出等功能。
使用Menu三步走:
默认放在标题处
- 在
res/menu新建菜单 xml 文件- 重写
onCreateOptionsMenu()加载菜单- 重写
onOptionsItemSelected()处理菜单项点击
override fun onCreateOptionsMenu(menu: Menu?): Boolean {
menuInflater.inflate(R.menu.main_menu,menu)
return true
}
override fun onOptionsItemSelected(item: MenuItem): Boolean {
when(item.itemId) {
R.id.menu_settings -> Toast.makeText(this, "设置", Toast.LENGTH_SHORT).show()
R.id.menu_about -> Toast.makeText(this,"关于",Toast.LENGTH_SHORT).show()
R.id.menu_exit -> finish()
}
return true
}
放在按钮点击处
在
res/menu新建菜单 xml 文件在主页面布局按钮
按钮点击触发菜单栏
val popup = PopupMenu(this,button)
popup.menuInflater.inflate(R.menu.main_menu, popup.menu)
// 菜单点击
popup.setOnMenuItemClickListener { item ->
when (item.itemId) {
R.id.menu_settings -> Toast.makeText(this, "设置", Toast.LENGTH_SHORT).show()
R.id.menu_about -> Toast.makeText(this, "关于", Toast.LENGTH_SHORT).show()
R.id.menu_exit -> finish()
}
true
}
popup.show() // 显示
main_menu.xml文件内容
<?xml version="1.0" encoding="utf-8"?>
<menu xmlns:android="http://schemas.android.com/apk/res/android">
<item
android:id="@+id/menu_settings"
android:title="设置"/>
<item
android:id="@+id/menu_about"
android:title="关于我们"/>
<item
android:id="@+id/menu_exit"
android:title="退出"/>
</menu>

总结
- Activity 是 Android 四大组件之一,负责用户界面展示与交互,是 App 必不可少的组件。
- 活动必须继承
AppCompatActivity,在onCreate中绑定布局,并在AndroidManifest.xml中注册才能使用。- 常用布局包括 LinearLayout(线性布局)、ConstraintLayout(约束布局) 等,可摆放 TextView、Button、EditText、RadioButton、CheckBox 等基础控件。
- Toast 是轻量级提示工具,可快速弹出消息,自动消失。
- Menu 菜单 有两种实现方式:
- 传统方式:依赖标题栏,重写
onCreateOptionsMenu和onOptionsItemSelected。- 独立弹窗方式:使用
PopupMenu,不依赖标题栏、不限制位置,更灵活。- 活动是 Android 开发的基础,掌握页面跳转、界面布局、提示信息、菜单操作是学习 Android 的核心技能。