最近在项目中需要用到下拉菜单,公司比较推崇美团的下拉菜单,于是要实现该功能,想着,这个功能应该是一个经常会用到的,于是何不写一个帮助类,只要往这个类里面传入特定的参数,既可以实现下来菜单,而且还可以实现菜单选择的回调,既可以重复使用,有简单便捷
首先,查看界面效果图
界面倒是比较简单,主要列下功能:
- 这个是靠一个帮助类实现的,下次想在自己的项目中实现该功能,一句引用代码,传入特定的参数既可以实现该功能
- 菜单弹出的时候,背景变灰色,菜单收回,背景回复白色
- 自动给选定的选项添加背景色,如果下次选择的其他选项,背景色自动切换
- 回调菜单的选择项
如果你需要的是一级选择菜单,如上的功能是完全足够了,好了,一下是代码部分:
下拉菜单的帮助类:MenuHelper
public class MenuHelper {
private PopupWindow popupWindow;
private ListView listView;
private List<String> data;
private Context mContext;
private View topView;
private ListAdapter adapter;
private int i = 0;
private FrameLayout container;
public MenuHelper(Context context, View topView, final OnMenuClick clickListener, List<String> data, FrameLayout containerView) {
mContext = context;
this.topView = topView;