框架地址 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());