Skip to content
WeiChaoFeng edited this page Dec 7, 2017 · 19 revisions

感谢您的支持,这里是语言组织不是很好的萌萌哒的程序员独立写的一个Wiki....

简介

BasePopup库实质上是一个抽象类,内封PopupWindow和各种帮助方法。

旨在让开发者能够不再关注PopupWindow的各种奇葩问题和设置方法,转而关注于页面UI和动画交互。

BasePopup选择以抽象类来进行扩展,而没有使用适配器等设计模式,目的是为了让开发者能够得到最大化的控制权,而不是被限制在某个范围内,因此最终决定把库写成一个抽象类,在某种程度上来说,也可以看作为这只是一个工具类。

版本改动

  • 在v1.3.0前:

如果您是从低于v1.3.0版本升级过来的,则需要对照下面的文档表格进行对应方法名字的修正,从v1.3.0版本开始,对于一些误导性的问题和方法名字进行了改动,这将会导致该版本前的方法需要重新复写

v1.3.0 具体改动如下:

原方法名 现方法名 备注
getPopupView() onCreatePopupView() 本方法改名为的是减少误导性
getAnimaView() initAnimaView() 理由同上
mContext getContext() context将会改为private,需要使用方法获取
mPopupView getPopupWindowView() mPopupView将会改为private,需要用方法获取
getShowAnimation()/getExitAnimation() 【protect】 initShowAnimation()/initExitAnimation() getShowAnimation()/getExitAnimation()将会改为获取进行过初始化的animation
getShowAnimator()/getExitAnimator() 【protect】 initShowAnimator()/initExitAnimator() getShowAnimator()/getExitAnimator()将会改为获取进行过初始化的animator
  • v1.3.0~v1.8.0: 在此之间的所有引用,版本号之前都需要添加"v"

    • 比如 compile 'com.github.razerdp:BasePopup:v1.8.0'
  • v1.8.0之后:收到大家的反馈,版本号将会去掉v,只包括数字版本号

    • 比如 compile 'com.github.razerdp:BasePopup:1.8.3'
  • 1.8.6.1之后,将不再使用Jitpack,转化为Jcenter

Download Download

添加依赖(请把{latestVersion}替换成上面的jitpack标签所示版本)

	dependencies {
	        compile 'com.github.razerdp:BasePopup:{latestVersion}'
	}

库代码解析:

http://www.jianshu.com/p/069f57e14a9c

Clone this wiki locally