手记

Android 框架Dileber :四、SelectDialog的使用

框架地址 dileber android框架 希望大家能多多star一下
selectDialog 可以添加多个选择内容展示效果如下

上图是用dileber架构的im即时聊天系统,当前的操作为长按出现选择菜单。
菜单的使用方法,首先创建一个model
IMessageSelectModel 继承自 SelectModel

class IMessageSelectModel extends SelectModel {
            private IMMessage imMessage;

            public IMMessage getImMessage() {
                return imMessage;
            }

            public void setImMessage(IMMessage imMessage) {
                this.imMessage = imMessage;
            }
        }

创建好了model就可以直接使用该dialog了(源码都在框架里自己去寻找吧)
创建dialog 并show

final List<IMessageSelectModel> list = new ArrayList<>();
            prepareDialogItems(item,list);

            //构造实例化选择弹窗
            SelectDialog<IMessageSelectModel> chooseDialog =
                    new SelectDialog.Builder<IMessageSelectModel>(getActivity())
                            .setDataList(list)
                            .setButtonColor(getResources().getColor(R.color.dileber_text_10))
                            .setButtonSize(14)
                            .setLastButtonSize(14)
                            .setTitleText("菜单")
                            .build();
            chooseDialog.setButtonListener(new BaseNoticeWindow.OnButtonListener<IMessageSelectModel>(){

                @Override
                public void onSureListener(View v, IMessageSelectModel selectModel) {
                    if(selectModel!=null){
                        if(selectModel.getTitle().equals(getString(R.string.repeat_send_has_blank))){
                            onResendMessageItem(selectModel.getImMessage());
                        }else if(selectModel.getTitle().equals(getString(R.string.delete_has_blank))){
                            deleteItem(selectModel.getImMessage());
                        }else if(selectModel.getTitle().equals(getString(R.string.copy_has_blank))){
                            onCopyMessageItem(selectModel.getImMessage());
                        }
                    }
                }

                @Override
                public void onDiscardListener(View v) {

                }

                @Override
                public void onDismissListener(View v, int nType) {

                }
            });

            chooseDialog.show(getView());
0人推荐
随时随地看视频
慕课网APP