微信中如何进行MMAlert的使用
发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,微信中如何进行MMAlert的使用,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。如果大家时常用过微信或者用过iphone,就会发现有种从
千家信息网最后更新 2026年11月03日微信中如何进行MMAlert的使用
微信中如何进行MMAlert的使用,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。
如果大家时常用过微信或者用过iphone,就会发现有种从底部弹出的半透明菜单,这种菜单风格优美并且用户体验良好,先看一下效果。
MMAlert来自微信开放平台的sdk示例,其示例的代码有点乱,我做了删减和整理,只保留了MMAlert这个类的一部分功能,即只保留了实现上述效果的那个函数,因为其他函数比较简单,就是普通的AlertDialog,我觉得大家都懂,所以直接删掉了。
代码介绍
1 . 下面这段代码其实蛮好理解的,本质就是new一个对话框,然后将其放置在底部,为其设置theme和style,theme和style写的蛮好理解的,具体大家可以看源码。数据呈现用的是Listview,为此我们需要new一个BaseAdapter对象来管理数据,BaseAdapter没什么特殊之处,很好理解,具体请看代码。
/** * @param context * Context. * @param title * The title of this AlertDialog can be null . * @param items * button name list. * @param alertDo * methods call Id:Button + cancel_Button. * @param exit * Name can be null.It will be Red Color * @return A AlertDialog */ public static Dialog showAlert(final Context context, final String title, final String[] items, String exit, final OnAlertSelectId alertDo, OnCancelListener cancelListener) { String cancel = context.getString(R.string.app_cancel); final Dialog dlg = new Dialog(context, R.style.MMTheme_DataSheet); LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE); LinearLayout layout = (LinearLayout) inflater.inflate(R.layout.alert_dialog_menu_layout, null); final int cFullFillWidth = 10000; layout.setMinimumWidth(cFullFillWidth); final ListView list = (ListView) layout.findViewById(R.id.content_list); AlertAdapter adapter = new AlertAdapter(context, title, items, exit, cancel); list.setAdapter(adapter); list.setDividerHeight(0); list.setOnItemClickListener(new OnItemClickListener(){ @Override public void onItemClick(AdapterView> parent, View view, int position, long id) { if (!(title == null || title.equals("")) && position - 1 >= 0) { alertDo.onClick(position - 1); dlg.dismiss(); list.requestFocus(); } else { alertDo.onClick(position); dlg.dismiss(); list.requestFocus(); } } }); // set a large value put it in bottom Window w = dlg.getWindow(); WindowManager.LayoutParams lp = w.getAttributes(); lp.x = 0; final int cMakeBottom = -1000; lp.y = cMakeBottom; lp.gravity = Gravity.BOTTOM; dlg.onWindowAttributesChanged(lp); dlg.setCanceledOnTouchOutside(true); if (cancelListener != null) dlg.setOnCancelListener(cancelListener); dlg.setContentView(layout); dlg.show(); return dlg; }
2. 如何使用MMAlert?很简单!
findViewById(R.id.send_img).setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { MMAlert.showAlert(SendToWXActivity.this, getString(R.string.send_img), SendToWXActivity.this.getResources().getStringArray(R.array.send_img_item), null, new MMAlert.OnAlertSelectId(){ @Override public void onClick(int whichButton) { switch(whichButton){ case MMAlertSelect1: { break; } case MMAlertSelect2: { break; } case MMAlertSelect3: { break; } default: break; } } }); }});
代码下载
http://download.csdn.net/detail/singwhatiwanna/5338394
或者http://www.kuaipan.cn/file/id_105515054266321788.htm
看完上述内容,你们掌握 微信中如何进行MMAlert的使用的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注行业资讯频道,感谢各位的阅读!
代码
为此
内容
函数
就是
底部
效果
数据
方法
更多
示例
菜单
问题
优美
普通
有种
特殊
良好
束手无策
没什么
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
互联网科技图片
科技互联网公司装修
互联网与科技金融数据
麻工互联网科技
高科技与互联网
互联网科技英文
奔汉互联网科技
上海亿帐通互联网科技
哈尔滨新华互联网科技
互联网巨头投资的硬核科技
上海宁丞科技互联网
链环科技传统企业怎么转型互联网
深圳育鹏互联网科技有限公司招聘
中科明德北京互联网科技
山东子淼互联网科技有限公司
南通创西澳互联网科技有限公司
雨阳互联网卡科技有限公司
长沙渺峰互联网科技有限公司
互联网科技的前景
青岛互联网科技园
齐家互联网科技
电子科技大学互联网
互联网金融科技委员会
互联网公司会议桌创意科技软装饰
昭通互联网科技选哪家
互联网公司黑科技创始人
特约风豹互联网科技为什么扣费
广东鹅鹅鹅互联网科技有限公司
互联网科技和医药行业
深圳互联网科技园地址