kongzue / DialogX

💬 DialogX dialog box component library, easy to use, more customizable, more scalable, easy to achieve a variety of dialog boxes. DialogX对话框组件库,更加方便易用,可自定义程度更高,扩展性更强,轻松实现各种对话框、菜单和提示效果,更有Material You、iOS、MIUI等主题扩展可选
Apache License 2.0
2.11k stars 222 forks source link
android android-dialog bottomdialog-bottommenu bottomsheet dialog dialogx-material ios-style kongzue kongzue-dialogx material-design material-ui materialdialog messagedialog miui popmenu popup progressdialog tipdialog waitdialog waitdialog-tipdialog

🌐 View English Document | 繁體中文文檔

Kongzue DialogX

一款简单易用的对话框组件,相比原生对话框使用体验更佳,可自定义程度更高,扩展性更强,轻松实现各种对话框、菜单和提示效果,更有iOS、MIUI、Material You等主题扩展可选。

Kongzue Dialog Maven Jitpack.io License Homepage

DialogX

DialogX优势

对话框是一个软件对用户操作进行响应、反馈的重要组件,而 DialogX 将可以协助开发者快速完成这些事务。

我们力求减少开发者所需要担心的,所需要顾虑的,而打造一款可以在任意时间,任意情况都能轻松使用的对话框组件。

在轻松使用的前提下,DialogX 提供了更多的个性接口方便开发者进行扩展,包括在对话框内插入自定义布局,亮暗色模式的切换,甚至自定义更符合 App UI 的自定义主题。

✅DialogX的特性:

DialogX对话框

DialogX 包含以下对话框组件:

可以实现一个遮罩展示操作引导图,或者对按钮进行操作提示指引。GuideDialog 可以围绕一个界面上的组件显示,并实现舞台光的效果,舞台光可选圆形(外围、内侧)、方形(外围、内侧)和矩形模式,方形和矩形可设置圆角。

DialogX主题

DialogX主题

DialogX 采用了主题分离结构,主框架仅包含 Material 设计风格的对话框组件,您可以通过额外引入主题包来实现主题的扩展。

额外的,每套主题都包含亮色/暗色两种显示风格,您可以通过 DialogX 的设置自由切换对话框的显示效果。

主题设计开发者也可以通过使用 DialogX 提供的主题定制接口来实现自定义主题,或者对现有主题进行样式调整和修改。

你还可以更深入的 了解如何使用 DialogX 主题

你还可以更深入的 了解如何开发 DialogX 主题

Demo

您可以先下载 Demo 进行尝试:http://beta.kongzue.com/DialogXDemo

下载Demo

开始使用 DialogX

因为依赖的关系,DialogX 目前仅支持 AndroidX 作为基础进行开发,若您正在使用最新版本的 Android Studio,那么默认创建的项目就是使用 AndroidX 作为底层框架的,老版本 Android Support 兼容库将在后续更新。

📥引入

请从以下两个源二选一引入项目。

MavenCentral 源(稳定版本更新)

最新版本: DialogX Release

1) 在 project 的 build.gradle 文件中找到 allprojects{} 代码块添加以下代码:

allprojects {
    repositories {
        google()
        jcenter()
        mavenCentral()      //增加 mavenCentral 仓库
    }
}

[!TIP] 使用 Android Studio 北极狐版本(Arctic Fox)创建的项目,需要您前往 settings.gradle 添加上述 mavenCentral 仓库配置。

2) 在 app 的 build.gradle 文件中找到 dependencies{} 代码块,并在其中加入以下语句:

def dialogx_version = "0.0.49"
implementation "com.kongzue.dialogx:DialogX:${dialogx_version}"

Jitpack 源(快速迭代测试版本更新)

最新版本: Jitpack.io 查看最新编译版本

1) 在 project 的 build.gradle 文件中找到 allprojects{} 代码块添加以下代码:

allprojects {
    repositories {
        google()
        jcenter()
        maven { url 'https://jitpack.io' }      //增加 jitPack Maven 仓库
    }
}

[!TIP] 使用 Android Studio 北极狐版本(Arctic Fox)创建的项目,需要您前往 settings.gradle 添加上述 mavenCentral 仓库配置。

2) 在 app 的 build.gradle 文件中找到 dependencies{} 代码块,并在其中加入以下语句:

def dialogx_version = "0.0.49"
implementation "com.github.kongzue.DialogX:DialogX:${dialogx_version}"

▶️使用

如何使用

具体的使用说明,请参阅 DialogX Wiki

🧩 扩展包

目前 DialogX 依然仅提供最基础的对话框实现,不提供进阶的功能模块,这是为了避免是您的应用变得臃肿。

但为了保证一些常用功能,例如 地址选择、日期选择以及“分享到”对话框等较为通用且常见的功能更为简单的能够使用,我们提供了扩展包以满足这些需求。

扩展包中,各个模块是单独引入的,您无需担心引入不必要的功能和资源。

扩展包目前尚处于初步开发阶段,要预览或提出你的建议,请访问:DialogXSample

DialogXSample

ℹ️使用过程遇到问题?

查看 常见问题

技术支持和反馈建议可以加讨论群:590498789

反馈 DialogX

❤️Powered By DialogX

Powered By DialogX

🚀 更多 >

🔁如何从 DialogV3 迁移至 DialogX

请参考文章 从 DialogV3 迁移至 DialogX

⭐观星者

Stargazers over time

开源协议

DialogX 遵循 Apache License 2.0 开源协议。

Copyright Kongzue DialogX

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

 http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

贡献者

感谢所有为 DialogX 做出贡献的人!

如果 DialogX 帮助您更好的构建了您的软件,请为 DialogX 点一个小小的 Star,您的每一次点击对 DialogX 都是最大的支持!

Stargazers repo roster for @kongzue/DialogX

协助开发