在上一篇文章中发布了 WPopupMenu 的第一个版本,并且也遗留了两个问题:
1.弹出框下面的三角2.在最顶端的时候应向下弹出
那在这次发文之前也是解决了上述两个问题和完善了一些逻辑问题:
1.如果 child 的长度大于 menu 的长度,那么则把 menu 放在中间2.如果 child 的长度小于 menu 的长度,三角形的位置在 child 的中间
不多说,上图:
WPopupMenu 实现思路解析
首先,还是按照正常业务逻辑,先提需求:
1.在当前页面弹出2.样子要和微信一样3.自动确定弹出位置(上 或者 下)4.三角形自动判断是 正三角 还是 倒三角
需求差不多了,就该来实现了。
在当前页面弹出
首先迎面来的就是第一个难题,如何在当前页面弹出?
这就涉及到我前面所讲的几篇文章:
这几个控件的源码里都有一个类:PopupRoute,该类我也讲过:
PopupRoute 是一个浮在当前页面上的 Route.
看到没