目录
[1. 文本控件](#1. 文本控件)
[2. 按钮控件](#2. 按钮控件)
[3. 选择控件](#3. 选择控件)
[4. 布局控件](#4. 布局控件)
[5. 图像控件](#5. 图像控件)
[6. 列表控件](#6. 列表控件)
[7. 对话框和提示](#7. 对话框和提示)
[8. 菜单控件](#8. 菜单控件)
[9. 工具栏和导航控件](#9. 工具栏和导航控件)
[10. 进度控件](#10. 进度控件)
[11. 时间与日期控件](#11. 时间与日期控件)
[12. 其他控件](#12. 其他控件)
[13. 高级控件](#13. 高级控件)
[14. 自定义控件](#14. 自定义控件)
[15. 其他](#15. 其他)
在 Android 开发中,UI 控件(也称为 View)是用户界面构建的基本元素。Android 提供了多种预定义的 UI 控件来构建布局和用户交互界面。以下是一些常用的 Android UI 控件和它们的功能分类:
1. 文本控件
- TextView:用于显示不可编辑的文本。
- EditText:用户可以输入和编辑文本的控件。
- AutoCompleteTextView:带有自动完成功能的文本输入框。
- TextInputLayout:提供额外功能(如提示、错误消息)的文本输入布局。
2. 按钮控件
- Button:标准按钮,用户点击后触发事件。
- ImageButton:显示图片的按钮,功能和普通按钮相同。
- ToggleButton:双态按钮,切换状态。
- RadioButton:单选按钮,通常和 RadioGroup 结合使用。
- CheckBox:复选框,允许用户选择或取消选择。
- FloatingActionButton (FAB):悬浮按钮,用于引导用户执行常用操作。
3. 选择控件
- Spinner:下拉菜单,显示列表项并允许用户选择。
- Switch:切换开关,允许用户在开启和关闭状态之间切换。
- SeekBar:允许用户通过滑动来设置数值或进度。
4. 布局控件
- LinearLayout:线性布局,可以垂直或水平排列子视图。
- RelativeLayout:相对布局,子视图可以相对其它视图或父视图排列。
- ConstraintLayout:灵活且功能强大的布局控件,支持复杂的界面设计。
- FrameLayout:用于显示单个子视图(或堆叠视图),通常用于简单布局。
- GridLayout:网格布局,子视图以行和列的方式排列。
- TableLayout:表格布局,用于创建具有行列的界面。
- ScrollView:用于包含可以滚动的视图,如一段较长的内容。
5. 图像控件
- ImageView:用于显示图片的控件。
- ImageButton:继承自 ImageView,可以点击的图片。
- VideoView:用于显示和播放视频。
6. 列表控件
- ListView:用于显示垂直滚动的项目列表。
- RecyclerView:功能强大的列表控件,可以显示非常长的项目列表,支持多种布局管理器(LayoutManager)。
- GridView:以网格布局显示内容的列表控件。
7. 对话框和提示
- Toast:用于显示简短的提示消息,自动消失。
- Snackbar:可交互的提示条,显示短暂消息,可以有按钮进行操作。
- AlertDialog:弹出对话框,通常用于警告或确认操作。
- ProgressDialog:带有进度条的对话框,显示操作正在进行。
8. 菜单控件
- PopupMenu:弹出菜单,显示选项列表。
- ContextMenu:上下文菜单,长按时弹出菜单。
- OptionsMenu:顶部的选项菜单,可以在工具栏或 ActionBar 中显示。
9. 工具栏和导航控件
- Toolbar:自定义 ActionBar,提供导航按钮、菜单选项和标题。
- BottomNavigationView:底部导航栏,适用于三个到五个页面之间的切换。
- NavigationDrawer:侧边导航栏,提供滑出菜单用于页面切换。
- TabLayout:用于创建带有选项卡的界面,与 ViewPager 或 Fragment 搭配使用。
10. 进度控件
- ProgressBar:显示进度的条形或圆形控件,通常用于指示后台任务的状态。
- SeekBar:进度条,用户可以通过拖动滑块来调整数值。
11. 时间与日期控件
- DatePicker:日期选择器,用户可以选择特定的日期。
- TimePicker:时间选择器,用户可以选择特定的时间。
12. 其他控件
- WebView:用于显示网页内容的控件。
- SurfaceView:用于自定义绘制或显示视频内容的控件,支持低级别的绘图操作。
- CardView:用于显示卡片样式布局的控件,通常用于展示列表项。
- Chip:一种小型组件,表示复杂信息的简洁形式,常用于标签或选择器。
13. 高级控件
- ViewPager2:用于滑动切换不同页面(通常与 Fragment 配合)。
- NavigationView:与 Navigation Drawer 配合使用的菜单视图。
- SwipeRefreshLayout:用于下拉刷新功能的控件。
- MotionLayout:一种基于 ConstraintLayout 的布局,用于创建复杂的动画和 UI 过渡效果。
14. 自定义控件
- 如果 Android 提供的控件不能满足需求,你还可以自定义控件。通过继承
View
或ViewGroup
,并在其中实现自己的绘制逻辑和交互。
15. 其他
- RatingBar:用于显示和获取用户评分的控件(例如星级评分)。
- NumberPicker:用于从一组数字中选择的控件。
- TextClock:显示当前时间的时钟控件。
总结:
Android 提供了多种 UI 控件,帮助开发者快速构建丰富的用户界面。可以根据项目需求选择合适的控件,也可以通过组合不同的控件创建复杂的界面。