Android下拉选择控件

来源:互联网 发布:狼人杀炸房软件 编辑:程序博客网 时间:2024/06/14 03:57

一个下拉控件,点击时打开列表,点击选项后改变标题并且可以刷新页面

这里我用的是popupwindow和recyclerview来实现的。
点击控件的按钮时弹出popupwindow,里面是一个recyclerview

private void showPopupWindow(View view, final String[] strs) {        // 一个自定义的布局,作为显示的内容        View contentView = LayoutInflater.from(mContext).inflate(R.layout.pop_window, null);        popupWindow = new PopupWindow(contentView, LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT, false);        // 如果不设置PopupWindow的背景,无论是点击外部区域还是Back键都无法dismiss弹框        popupWindow.setTouchable(true);//        popupWindow.setOutsideTouchable(true);        popupWindow.setBackgroundDrawable(new BitmapDrawable(getResources(), (Bitmap) null));        LinearLayout llPopw = (LinearLayout) contentView.findViewById(R.id.ll_popw);        llPopw.setOnClickListener(new OnClickListener() {            @Override            public void onClick(View v) {                if (popupWindow != null && popupWindow.isShowing()) {                    popupWindow.dismiss();                }            }        });        RecyclerView rcv = (RecyclerView) contentView.findViewById(R.id.rcv_pop);        rcv.setLayoutManager(new LinearLayoutManager(mContext));        rcv.setAdapter(adapter);        adapter.setStrs(strs);        popupWindow.setAnimationStyle(R.style.dropDownAnim);        // 设置好参数之后再show        popupWindow.showAsDropDown(view, 0, 2);        //监听popupwindow消失状态        popupWindow.setOnDismissListener(new PopupWindow.OnDismissListener() {            @Override            public void onDismiss() {                setTextviewGray();            }        });    }

代码比较简单,需要的可以下载看看
github地址
csdn地址

原创粉丝点击