Need help with BasePopup?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

razerdp
4.3K Stars 677 Forks Other 812 Commits 6 Opened issues

Description

一款针对系统PopupWindow优化的Popup库,功能强大,支持背景模糊,使用简单,你会爱上他的~

Services available

!
?

Need anything else?

Contributors list

# 6,564
Java
Android
wechat
pie-cha...
716 commits
# 47,648
Java
Android
popup-m...
wechat
38 commits
# 151,784
Java
Android
popupwi...
popup-m...
4 commits
# 173,617
Java
Android
popupwi...
popup-m...
1 commit
# 255,475
Java
Android
popupwi...
popup-m...
1 commit
# 1,463
image-f...
assembl...
netfram...
residua...
1 commit
# 255,062
Java
Android
popupwi...
popup-m...
1 commit

中文 | English

Logo图片似乎加载不出来

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,每个版本升级请务必查阅更新日志,这可以为您减少不必要弯路
  • 2.2.2版本开始不再支持Support,建议您尽快升级到AndroidX
  • 请注意引用版本的问题,Release版本是稳定版,Snapshot是预览版。
    • Release版本:一般在Snapshot版本反复验证修复后发布到Release,如果您对稳定性要求较高,请使用Release版本。
    • Snapshot:一般新功能、issue修复都会发布到Snapshot版本,Snapshot版本发布比较频繁,但通常会拥有新的功能,如果您喜欢试验新功能同时对稳定性要求不高,请使用Snapshot版本。
    • Release和Snapshot两个版本互相切换可能会导致Build失败,这时候您Clean一下Project即可
  • 从16年第一次提交到现在,本人技术也一直在进步,BasePopup也会一直迭代更新,所以,请谨慎选择版本哦~一不小心就颠覆了之前的实现。


环境依赖

root gradle配置

allprojects {
    repositories {
        mavenCentral() // release依赖仓库(4.1后as默认配置有)
        maven { url 'https://s01.oss.sonatype.org/content/repositories/snapshots' } // snapshot仓库(如果需要snapshot依赖,请配置该maven)
        google()
    }
}

依赖

请把下述 {$latestVersion} 替换为上面表格中对应的版本。

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

  • Release:
    implementation 'io.github.razerdp:BasePopup:{$latestVersion}'
    • e.g.
      implementation 'io.github.razerdp:BasePopup:2.3.0'
  • Snapshot:
    implementation 'io.github.razerdp:BasePopup:{$latestVersion_for_snapshot}-SNAPSHOT'
    • e.g.
      implementation 'io.github.razerdp:BasePopup:2.3.2-SNAPSHOT'


文档

BasePopup配备完善的文档,建议您优先查阅文档。

BasePopup手册


更新日志 (历史更新)

正在开发日志(Snapshot版本)请查看dev分支: branch-dev

  • 【Release】2.3.0 (2021/04/30)
    • 迁移到maven central


例子预览


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


| | | | | - | - | - | | | | | | | | |


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

Logo图片似乎加载不出来


交流群

因公司不能登录QQ,因此解散原QQ群。

同时开通微信群,主要用于交流和BasePopup的反馈,为了保证微信群的质量(主要是远离斗图党和广告党),因此只有打赏了之后才能进群~

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


常见问题

请查阅手册:常见问题


License

FOSSA Status

Apache-2.0

Visit Count(from 2020/08/19)

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.