# XPopup


国内 Gitee 镜像地址:https://gitee.com/lxj_gitee/XPopup

# 中文 | English

  • 内置几种了常用的弹窗,十几种良好的动画,将弹窗和动画的自定义设计的极其简单;目前还没有出现 XPopup 实现不了的弹窗效果。
    内置弹窗允许你使用项目已有的布局,同时还能用上 XPopup 提供的动画,交互和逻辑封装。
  • UI 动画简洁,遵循 Material Design,在设计动画的时候考虑了很多细节,过渡,层级的变化
  • 交互优雅,实现了优雅的手势交互,智能的嵌套滚动,智能的输入法交互,具体看 Demo
  • 适配全面屏和各种挖孔屏,目前适配了小米,华为,谷歌,OPPO,VIVO,三星,魅族,一加全系全面屏手机
  • 自动监听 Activity/Fragment 生命周期或任意拥有 Lifecycle 的 UI 组件,自动释放资源。在 Activity/Fragment 直接 finish 的场景也避免了内存泄漏
  • XPopup 实现了 LifecycleOwner,可以直接被 LiveData 监视生命周期,弹窗可见时才更新数据,不可见不更新
  • 很好的易用性,自定义弹窗只需继承对应的类,实现你的布局,然后像 Activity 那样,在 onCreate 方法写逻辑即可
  • 性能优异,动画流畅;精心优化的动画,让你很难遇到卡顿场景
  • 能在应用后台弹出(需要申请悬浮窗权限,一行代码即可)
  • 支持 androidx
  • 完美支持 RTL 布局
  • 支持小窗模式
  • 如果你想要时间选择器和城市选择器,可以使用 XPopup 扩展功能库 XPopupExt: https://github.com/li-xiaojun/XPopupExt

设计思路
综合常见的弹窗场景,我将其分为几类:

  • Center 类型,就是在中间弹出的弹窗,比如确认和取消弹窗,Loading 弹窗
  • Bottom 类型,就是从页面底部弹出,比如从底部弹出的分享窗体,知乎的从底部弹出的评论列表,内部已经处理好手势拖拽和嵌套滚动
  • Attach 类型,就是弹窗的位置需要依附于某个 View 或者某个触摸点,就像系统的 PopupMenu 效果一样,但 PopupMenu 的自定义性很差,淘宝的商品列表筛选的下拉弹窗,微信的朋友圈点赞弹窗都是这种。
  • Drawer 类型,就是从窗体的坐边或者右边弹出,并支持手势拖拽;好处是与界面解耦,可以在任何界面实现 DrawerLayout 效果
  • ImageViewer 大图浏览类型,就像微信那样的图片浏览弹窗,带有良好的拖拽交互体验,内部嵌入了改良的 PhotoView 和 subsampling-scale-imageview,支持加载超长长达图片并且不 OOM
  • FullScreen 类型,全屏弹窗,看起来和 Activity 一样,可以设置任意的动画器;适合用来实现登录,选择性的界面效果。
  • Position 自由定位弹窗,弹窗是自由的,你可放在屏幕左上角,右下角,或者任意地方,结合强大的动画器,可以实现各种效果。

# 快速体验

Gif 录制的有些卡顿,真机预览效果更佳。扫描二维码下载 Demo:

如果二维码图片不可见,点我下载 Demo 体验

# Gradle


implementation 'com.github.li-xiaojun:XPopup:版本号看上面'

jitpack 还要求在工程根目录的 build.gradle 中添加如下:
allprojects {
    repositories {
        ...
        maven { url 'https://jitpack.io' }
    }
}

其中编译版本必须 >= 29:

compileSdkVersion 29

必须添加的依赖库,版本不用和我一致:

implementation 'androidx.appcompat:appcompat:1.3.1'
implementation 'com.google.android.material:material:1.4.0'
implementation 'androidx.recyclerview:recyclerview:1.2.1'

# 使用文档

具体使用方法全在 WIKI 中,请查看下面各个章节:

  • 如何使用内置的弹窗
  • 如何自定义弹窗
  • 如何自定义动画
  • 弹窗常用设置
  • 常见问题(必看)
  • 也许你想要这些效果
  • 一行代码在应用后台弹出弹窗
  • 时间选择器和城市选择器

# 混淆

-dontwarn com.lxj.xpopup.widget.**
-keep class com.lxj.xpopup.widget.**{*;}

# 谁在用 XPopup

我本人很希望您能点击这里附上使用这个库的 App 名或者公司名,这样会给我更大的动力和热情去维护这个类库。

根据热心朋友提供的信息,目前使用 XPopup 的产品和公司有(70+):

  • 海鸥地图(https://cn.gullmap.com/)
  • 马自达汽车检测(主要是一个汽车厂商工作人员使用的汽车检测 APP)
  • 变福侠 App
  • 进境肉牛检疫追溯系统 (App 端)
  • 太极 (, 维术大神作品,VirtualXposed 作者, 下载地址:https://www.coolapk.com/apk/me.weishu.exp)
  • 爱勘 (ican) App
  • 医美消费指南 (https://www.pgyer.com/yimeiandroid)
  • 蜜尚(APP 名,广州时尚商业城有限公司(时尚集团))
  • 关爱岛
  • 密籍 (下载地址:https://www.coolapk.com/apk/com.rair.unikey)
  • 万话筒
  • 易果无忧
  • Moo 日记, 下载地址 https://www.wandoujia.com/apps/8044755
  • 智华泊位 (重庆即停科技有限公司)
  • 中英互译(梅州小白科技有限责任公司 https://sj.qq.com/myapp/detail.htm?apkName=com.messi.languagehelper)
  • 采蘑菇(https://a.app.qq.com/o/simple.jsp?pkgname=com.lx.cmg)
  • 蜂鸟屋 APP
  • 蜂鸟屋 SAAS 平板
  • 茶臻选(https://android.myapp.com/myapp/detail.htm?apkName=com.aiso.tea&ADTAG=mobile)
  • 风扇屏客户端 app
  • EdifierConnect 漫步者耳机产品 APP
  • 斑猪 (广州汇数创联科技有限公司)
  • 夜探 (成都波斯猫)
  • 极光影院 (个人开发者,可到公众号极光终点站下载)
  • 万码(深圳市靠谱软件有限公司)
  • 爱多路(常州玺拓软件有限公司 https://a.app.qq.com/o/simple.jsp?pkgname=com.hitotech.idoru)
  • 有播(公司:浙江有播科技有限公司 https://android.myapp.com/myapp/detail.htm?apkName=com.haibaoshow.youbo)
  • 微寻互助(app)
  • 米袋出行 (上海米袋投资集团有限公司(米袋集团))
  • 米袋汽车 (上海米袋投资集团有限公司(米袋集团))
  • 悦动圈 (下载地址:https://www.51yund.com/down?from=default&type=android)
  • 路马帮 App
  • 椰子姐姐 App (学习英语的 App)
  • 橙杏健康 App,橙杏守护 App(北京橙杏有道有限公司)
  • 红星直播(红星美凯龙旗下的直播 App)
  • 花生代理 App (http://www.appchina.com/app/com.qi.earthnutproxy)
  • 小鹅通商家助手 APP
  • 小鹅通课堂助手 APP
  • 小鹅通助手 APP
  • 豌豆掌管
  • 干货集中营 (下载地址:https://juejin.im/post/5ef7fdbaf265da22be0d6ab3)
  • 运动指南针 (http://app.mi.com/details?id=com.lx.yundong&ref=search)
  • 我惠省钱 (http://app.mi.com/details?id=com.lx.whsq&ref=search)
  • 中航人商城 (http://app.mi.com/details?id=com.lx.zhrshop&ref=search)
  • 求职墙 (https://www.pgyer.com/zhaopin 密码 000000)
  • 多问律师(广州多问科技公司)
  • 薪公章 - 公章柜 (类似丰巢的一款硬件设备) 博纳德科技
  • 消防云:消防物联网(应用宝搜索就可以下载)- 消防云(上海)科技有限公司
  • 《标学教育》 一款给大学生提供优质教育服务的平台型 APP https://www.tongkao100.com/
  • 慧孕育,啵咿呀 (中联信息产业公司)
  • 领财猫 (湖南中纵联联信息科技有限公司) 一款领取周边红包的 APP,https://android.myapp.com/myapp/detail.htm?apkName=com.zwcs.cat
  • NewsClapper(下载地址:https://play.google.com/store/apps/details?id=com.newsclapper.video)
  • 情侣签 App - 千万级用户情侣恋爱记录产品 (下载地址:http://app.mi.com/details?id=com.ymstudio.loversign&ref=search)
  • 我爱赚钱 (下载地址: https://sj.qq.com/myapp/detail.htm?apkName=me.tx.taskhunter&info=532BB35B65D9FFA7F497DEFA6E27F663)
  • 海信智学平台
  • 饭友视频聊天交友 (下载地址:https://android.myapp.com/myapp/detail.htm?apkName=com.quanmai.findu&info=519DFF1F69A45EAF33B4D2C51A7AC2D3)
  • 皮皮陪玩 游戏陪玩语音直播 app https://app.apeiwan.com/
  • 你我有谱(app 名)
  • Bookista(https://play.google.com/store/apps/details?id=com.latinoriente.bookista)
  • 伊的家商城项目
  • 点点日记(常州市宏域网络有限公司)
  • 职小新
  • 指南帮
  • FateU(https://fateu.com.cn/download/fateuApp.apk)
  • 皮皮有料(嘉兴市字符律动互联网科技有限责任公司 下载地址:https://www.pgyer.com/wakagaoxiao)
  • 海信爱家
  • 广州蓝勃生物。产品:ML300 医疗检测在使用。还在开发阶段!
  • 轻纺易购(https://fzapp.com/)
  • 洋葱变声器 (http://onionapp.cn)
  • SPAX (https://www.onespax.com/)
  • 译录宝 (https://www.aivox.com.cn/)
  • SealLive (https://www.seallive.app/#/)
  • 猫久夕
  • CAD 看图王(app 名) https://yun.gstarcad.com/mobile/
  • CAD 手机看图(app 名) https://yun.gstarcad.com/mobile/
  • 我奥篮球 (北京我奥科技有限公司)

# 打个赏

如果你觉得我帮助到了你,节省了你的时间,可以对我进行打赏(打赏时可以附上自己的大名和 Github 地址),金额随意,以表支持。

名字Github 地址
Alfred
LOPER7https://github.com/loperSeven
microshow (RxFFmpeg 作者)https://github.com/microshow

# 阿里云链接

如果有朋友购买阿里云服务器,可以点我的链接进入:

https://www.aliyun.com/minisite/goods?userCode=bak7qpav

有大量的代金券和折扣!!!

ECS-1 核 2G40G 硬盘 1M 带宽 : 91 元 / 年

ECS-2 核 4G40G 硬盘 1M 带宽 : 414 元 / 年

ECS-4 核 8G40G 硬盘 5M 带宽 : 1046 元 / 年

更多产品点击链接进入查看。。。

# 联系方式

Android 开发交流群:783659607

QQ Email: 16167479@qq.com

QQ: 16167479

# Licenses

Copyright 2019 li-xiaojun

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.

阅读次数

请我喝[茶]~( ̄▽ ̄)~*

Tritoce 微信支付

微信支付

Tritoce 支付宝

支付宝

Tritoce 贝宝

贝宝