-
-
Notifications
You must be signed in to change notification settings - Fork 761
Home
WeiChaoFeng edited this page May 13, 2019
·
19 revisions
Chinese | English
BasePopup库实质上是一个抽象类,内封PopupWindow和各种帮助方法。
旨在让开发者能够不再关注PopupWindow的各种奇葩问题和设置方法,转而关注于页面UI和动画交互。
BasePopup选择以抽象类来进行扩展,而没有使用适配器等设计模式,目的是为了让开发者能够得到最大化的控制权,而不是被限制在某个范围内,因此最终决定把库写成一个抽象类,在某种程度上来说,也可以看作为这只是一个工具类。
- 如果您是首次接触BasePopup,请查看首页README进行初步了解,并阅读工程提供的Demo以加深印象。
- 如果您以前试用过BasePopup,请务必阅读重要版本变更来了解一些破坏性的功能更新,如果符合里面的版本变更,这意味着您必须修正一些方法以免阻塞工程的正常Build。
- 查阅更多的使用方法,请查看页面API
- 提交issue前请确保您的问题在wiki里查询过,并确认没有相同的问题后,依照issue模板进行提交,如果没有按照issue模板提交,该issue优先级降低,因为双方交流会耗时不少,效率相比按照issue模板提交的情况下低不少。
- 本wiki使用例子如无特殊注明,均为基本使用中的DemoPopup。
Release | Candy |
---|---|
添加依赖到Gradle(请把{$latestVersion}替换成上面的Jcenter标签所示版本)
dependencies {
//BasePopup主体库
implementation 'com.github.razerdp:BasePopup:{$latestVersion}'
//BasePopup support支持库
implementation 'com.github.razerdp:BasePopup-compat-support:{$latestVersion}'
//BasePopup lifecycle支持库
implementation 'com.github.razerdp:BasePopup-compat-lifecycle:{$latestVersion}'
//BasePopup androidx支持库
implementation 'com.github.razerdp:BasePopup-compat-androidx:{$latestVersion}'
//candy渠道
//implementation 'com.github.razerdp:BasePopup_Candy:{$latestVersion}'
//implementation 'com.github.razerdp:BasePopup_Candy-compat-support:{$latestVersion}'
//implementation 'com.github.razerdp:BasePopup_Candy-compat-lifecycle:{$latestVersion}'
//implementation 'com.github.razerdp:BasePopup_Candy-compat-androidx:{$latestVersion}'
}
- 除了查看issue以外,一些常见的QA或是BasePopup设计导致的一些疑惑会收集在Wiki中,具体请查看常见问题
- 感谢FastBlur的作者开源的方法:源码
- 感谢@Guolei1130的绕过Api限制的方法,文章地址:android_p_no_sdkapi_support
- 感谢您对我的支持,您的issue或是建议,是我持续更新的动力,愿我们可以共同进步-V-