转载:https://blog.csdn.net/android_destiny/article/details/54928860
先上效果图:
集成地址:https://github.com/kareluo/PopupMenuView
此库主要实现了一个类似iOS中的UIMenuController控件的Popup控件。 主要控件如下:
-
PopLayout继承自FrameLayout,用于实现控件的气泡化。 -
OptionMenuView继承自LinearLayout,用于实现Menu控件。 -
PopupView继承自PopupWindow,用于实现控件的指定方位弹出效果。 -
PopupMenuView是上述三者的集合,实现了弹出气泡菜单的功能。
用法:
Androidstudio在gradle中配置如下代码:
compile 'me.kareluo.ui:popmenu:1.1.0'
关键:
PopupMenuView可以根据你的页面自由地控制你的气泡箭头显示的方向,你可以定义一个优先级
如:
mPopupMenuView.setSites(PopupView.SITE_TOP);//气泡永远显示在view的上方,如果view在当前页面显示不完整,气泡则不显示
mPopupMenuView.setSites(PopupView.SITE_TOP, PopupView.SITE_BOTTOM);//如果view能够在当前页显示完整,则气泡显示在view上方;
否则,显示在下方。
以此类推
mPopupMenuView.setSites(PopupView.SITE_TOP, PopupView.SITE_BOTTOM, PopupView.SITE_LEFT);
mPopupMenuView.setSites(PopupView.SITE_TOP, PopupView.SITE_BOTTOM, PopupView.SITE_LEFT, PopupView.SITE_RIGHT);
..........