# component
**Repository Path**: mevermore/component
## Basic Information
- **Project Name**: component
- **Description**: 一个Android通用功能组件库
- **Primary Language**: Android
- **License**: MIT
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2021-04-19
- **Last Updated**: 2025-08-28
## Categories & Tags
**Categories**: Uncategorized
**Tags**: Library
## README
# Component
## 介绍
Component 是一个 Android 平台上的模块化组件库,旨在提供一系列可复用的 UI 和功能组件,帮助开发者快速构建高质量的应用程序。项目中包含了动画、相机、对话框、网络、文件操作、状态视图、步骤视图、更新管理、富文本、PDF 预览等多个模块,适用于各种业务场景。
## 软件架构
Component 采用模块化架构设计,各个模块之间相互独立,可以根据需求单独引入使用。主要模块包括:
- **anim**: 提供多种动画效果,如 Bounce、Flash、Pulse、Rotate、Slide、Zoom - 等。
- **camera**: 提供相机功能,包括二维码扫描、图像分析等。
- **dialog**: 提供多种类型的对话框组件,如确认对话框、进度对话框、底部弹窗等。
- **domain**: 提供域名管理功能,支持本地数据库存储。
- **keyboard**: 提供自定义键盘组件,如英文键盘、车牌号键盘。
- **location**: 提供定位功能,支持高德地图和系统原生定位。
- **media**: 提供音频播放、TTS(文本转语音)等功能。
- **net**: 提供网络请求封装,支持 Retrofit + OkHttp。
- **nfc**: 提供 NFC 读写功能。
- **pdf**: 提供 PDF 预览功能。
- **pictures**: 提供图片选择、预览、拍照等功能。
- **richtext**: 提供富文本解析与展示功能。
- **stateview**: 提供加载中、空数据、网络错误、错误等状态视图。
- **stepview**: 提供水平和垂直步骤指示器。
- **update**: 提供应用版本更新功能,支持下载和安装。
- **widget**: 提供基础组件封装,如 BaseActivity、BaseFragment、BaseAdapter、BaseViewHolder 等。
## 使用说明
### 动画模块(anim)
提供多种动画效果,使用方式如下:
```java
Pixar.with(AnimType.BOUNCE)
.duration(1000)
.delay(500)
.repeat(2)
.playOn(view);
```
### 相机模块(camera)
支持二维码扫描功能:
```kotlin
val qrCodeFragment = QRcodeFragment()
qrCodeFragment.show(supportFragmentManager, "QRCode")
```
### 对话框模块(dialog)
展示确认对话框:
```java
ConfirmDialog confirmDialog = new ConfirmDialog();
confirmDialog.setTitle("提示");
confirmDialog.setContent("是否确认操作?");
confirmDialog.setPositiveListener((dialog, which) -> {
// 处理确认操作
});
confirmDialog.show(getSupportFragmentManager(), "ConfirmDialog");
```
### 域名管理模块(domain)
加载域名列表:
```kotlin
class MyDomainActivity : DomainActivity() {
override fun onDomainChange(domain: BeanDomain) {
// 域名变化时的处理
}
}
```
### 定位模块(location)
初始化定位服务:
```java
LocationHelper locationHelper = new LocationHelper(this);
locationHelper.setLocationListener(this);
locationHelper.setMode(LocationMode.AMap);
locationHelper.start();
```
### 图片选择模块(pictures)
启动图片选择器:
```java
PictureHelper.Builder()
.setMaxSelectCount(9)
.build(this)
.initPictureSelect(this, selectedImages, launcher);
```
### 富文本模块(richtext)
在 TextView 中展示富文本:
```java
RichText.fromHtml("欢迎访问 Gitee 项目")
.into(textView);
```
### 状态视图模块(stateview)
展示空数据状态:
```java
StateViewHelper stateViewHelper = new StateViewHelper(containerLayout);
stateViewHelper.stateEmpty();
```
### 步骤视图模块(stepview)
展示水平步骤视图:
```java
List steps = new ArrayList<>();
steps.add(new StepBean("步骤1", StepBean.STEP_COMPLETED));
steps.add(new StepBean("步骤2", StepBean.STEP_CURRENT));
steps.add(new StepBean("步骤3", StepBean.STEP_UNDO));
HorizontalStepView stepView = findViewById(R.id.step_view);
stepView.setStepViewTexts(steps);
```
### 应用更新模块(update)
检查版本更新:
```kotlin
UpdateHelper updateHelper = new UpdateHelper(this, "channel", 100);
updateHelper.checkVersion(this);
```
### 基础组件模块(widget)
使用 `BaseActivity`:
```java
public class MainActivity extends BaseActivity {
@Override
public View getRootView() {
return getLayoutInflater().inflate(R.layout.activity_main, null);
}
@Override
public void initView() {
// 初始化视图
}
@Override
public void initData() {
// 初始化数据
}
}
```