# ffsky-app-dialog
**Repository Path**: hljdrl/ffsky-app-dialog
## Basic Information
- **Project Name**: ffsky-app-dialog
- **Description**: android dialog组件 , 专注业务开发.
- **Primary Language**: Android
- **License**: Apache-2.0
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2024-12-30
- **Last Updated**: 2025-07-07
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# ffsky-app-dialog
#### 介绍
android dialog组件
基础Dialog封装,专注业务层View逻辑开发.
#### 接口API类
接口层API EnvEvent.java
| 类 | 备注 |
|----------------------|------------------------|
| UIDialog | Dialog弹框基础类 |
| UISheetDialog | BottomSheetDialog弹框基础类 |
| - | - |
| ViewPartVisitor | 弹框View接口类 |
| BasisViewPartVisitor | 基础Dialog方法接口 |
| PromptVisitor | 确认提示框 |
| PromptEditVisitor | EditText输入提示框 |
| ProgressVisitor | 加载中提示框 |
| DownloadVisitor | 下载文件展示进度提示框 |
| SheetVisitor | 底部弹出选择提示框 |
| - | - |
#### 使用说明
1. 引入组件
新增UIPOPDialog,封装PopupWindow和ViewPartVisitor搭配使用.
```gradle
api "com.gitee.hljdrl:dialog:1.0.3"
```
PromptEditVisitor增加设置布局和样式构造方法.
attrs.xml maxUIHeight修改UIDialog命名下
```gradle
api "com.gitee.hljdrl:dialog:1.0.2"
```
修复lib_dialog模板R文件复制未修改问题.
```gradle
api "com.gitee.hljdrl:dialog:1.0.1"
```
```gradle
api "com.gitee.hljdrl:dialog:1.0.0"
```
2. 代码范例-确认提示框
```java
PromptVisitor dialog = new PromptVisitor(activity);
dialog.
setTitle("提示");
dialog.
setContentGravity(Gravity.LEFT);
dialog.
setContent("\u3000\u3000Android 16 开发者预览版 1 现已推出! Android 16 的首个开发者预览版现已发布,您可以在其中测试自己的应用。今后,我们会更频繁地发布 Android 版本,计划在 2025 年发布两个 SDK,这是我们为加快应用和设备创新步伐而采取的诸多措施之一。");
dialog.
setLeftText("确定");
dialog.
setOnEventListener(new OnEventListener() {
@Override
public void onItemClick ( boolean b, Dialog dialog){
dialog.dismiss();
}
});
dialog.
show();
```
3. 代码范例-确认提示框-长文本
```java
PromptVisitor dialog = new PromptVisitor(activity);
dialog.
setTitle("提示");
dialog.
setContentGravity(Gravity.LEFT);
dialog.
setContent(activity.getString(R.string.max_text));
dialog.
setLeftText("确定");
dialog.
setRightText("取消");
dialog.
setOnEventListener(new OnEventListener() {
@Override
public void onItemClick ( boolean b, Dialog dialog){
dialog.dismiss();
}
});
dialog.
show();
```
4. 代码范例-EditText输入提示框
```java
PromptEditVisitor dialog = new PromptEditVisitor(activity);
dialog.
setTitle("提示");
dialog.
setGravity(Gravity.TOP);
dialog.
setContentGravity(Gravity.LEFT);
dialog.
setLeftText("确定");
dialog.
setRightText("取消");
dialog.
setOnEventListener(new OnEventListener() {
@Override
public void onItemClick ( boolean b, Dialog dialog){
dialog.dismiss();
}
});
dialog.
show();
```
5. 代码范例-加载中提示框
```java
ProgressVisitor progressVisitor = new ProgressVisitor(activity);
progressVisitor.
setTimeDismiss(3000);
progressVisitor.
show();
```
6. 代码范例-下载进度条提示框
```java
DownloadVisitor progressVisitor = new DownloadVisitor(activity);
progressVisitor.
setTitle("更新组件");
progressVisitor.
setProgressText("下载模块1");
progressVisitor.
setOnVisitedListener(new OnVisitedListener() {
@Override
public void onVisited (Dialog dialog, View view){
progressVisitor.setProgress(0);
progressVisitor.setProgressMax(100);
view.postDelayed(new Runnable() {
int count = 0;
@Override
public void run() {
count += 1;
if (count < 100) {
progressVisitor.setProgress(count);
view.postDelayed(this::run, 100);
} else {
UIUtil.dismissDialog(dialog);
}
}
}, 100);
}
});
progressVisitor.
show();
```
7. 范例代码-选择提示框
```java
List sheetEntities = new ArrayList<>();
int size = FFKitUtil.getRandomInt(10, 100);
for(
int i = 0;
i