BasePopup

Additional

Language
Java
Version
3.1.0 (Jun 3, 2021)
Created
Jan 15, 2016
Updated
Jul 1, 2021
Owner
Razerdp (razerdp)
Contributors
Santiago Castro (bryant1410)
Razerdp (razerdp)
430public
dadengpao
有时丶 (ParfoisMeng)
hshare
Htao (hunter524)
7
Activity
Badge
Generate
Download
Source code
APK file

Promotion

中文 | English

BasePopup - Android下打造通用便捷的PopupWindow

Release Snapshot License Api Author



导航


特性

  • 本库作为基类,对您的实现没有任何干预,再也不需要担心实现某些方法的时候被Api限制了
  • 无需头疼如何计算offset来进行位置控制,只需要简简单单的设置Gravity便能随心所欲的控制您的Popup
  • 无论是Animation还是Animator,只需要跟您平时一样写动画,就可以完成Popup的动效设计了,不需要xml不需要关心别的兼容性问题
  • 背景与主体分离,无论是背景模糊,亦或是背景颜色,甚至把背景换成您的View,都可以通过简单的设置完成,主体与背景隔离,不用担心事件的问题
  • 还在为Popup的触摸事件头疼吗?BasePopup帮你解决烦恼~返回键控制、外部点击透传、点击外部是否消失都只需要您动动手指头完成配置即可
  • PopupWindow自动锚定AnchorView,滑动到屏幕外自动跟随AnchorView消失,不需要复杂的逻辑设置,只需要通过linkTo方法告诉BasePopup即可帮您完成
  • 简单的PopupWindow不想新建一个类,希望拥有链式调用?没问题,QuickPopupBuilder为此而生,相信你会越用越爱~

注意事项

  • 请务必仔细阅读本README,每个版本升级请务必查阅更新日志,这可以为您减少不必要弯路
  • 请注意引用版本的问题,Release版本是稳定版,Snapshot是预览版。
    • Release版本:一般在Snapshot版本反复验证修复后发布到Release,如果您对稳定性要求较高,请使用Release版本。
    • Snapshot:一般新功能、issue修复都会发布到Snapshot版本,Snapshot版本发布比较频繁,但通常会拥有新的功能,如果您喜欢试验新功能同时对稳定性要求不高,请使用Snapshot版本。
    • Release和Snapshot两个版本互相切换可能会导致Build失败,这时候您Clean一下Project即可
  • 3.0版本是破坏性升级,请您务必阅读升级提示关于BasePopup 3.0的破坏性更新说明

环境依赖

root gradle配置

allprojects {
    repositories {
        // release依赖仓库(4.1后as默认配置有)
        mavenCentral()

        // snapshot仓库(如果需要snapshot依赖,请配置该maven)
        maven { url 'https://s01.oss.sonatype.org/content/repositories/snapshots' }
    }
}

依赖

由于JCenter已经停止服务,自2.3版本开始,本库将迁移到Maven,新的依赖groupId为 【io.github.razerdp】

3.0版本是破坏性升级,请您务必阅读升级提示关于BasePopup 3.0的破坏性更新说明

  • Release: implementation 'io.github.razerdp:BasePopup:3.1.4'
  • Snapshot: implementation 'io.github.razerdp:BasePopup:3.1.6-SNAPSHOT'

文档

BasePopup配备完善的文档,详情请看。

BasePopup手册


更新日志 (历史更新)

  • 【Release】3.1.4 (2021/06/23)
    • 【优化】
      • 优化BlurHelper,RenderScript使用单例
      • 增加setOverlayMask(boolean):是否允许蒙层叠加,默认不叠加。同个页面默认背景的BasePopup不会叠加蒙层,直到设置了背景为止。
      • deprecated setAutoLocatePopup,请用setAutoMirrorEnable代替
      • 增加左右自动镜像定位的功能,增加demo
    • 【修复】
      • 修复onOutSideTouch拦截事件后,没有传到DecorView的问题 #393-comment

例子预览


更多例子请下载Demo:apk体验下载(密码123)



打赏(看在我那么努力维护的份上。。。给个零食呗~)


交流群

为了保证微信群的质量(主要是远离斗图党和广告党),因此只有打赏了之后才能进群~

打赏后请加微信小号:razerdp_test,并注明付款账号,定期核验后会通过


常见问题

请查阅手册:常见问题


License

Apache-2.0

Visit Count(from 2020/08/19)