# 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() { // 初始化数据 } } ```