微信中如何进行MMAlert的使用
发表于:2025-12-02 作者:千家信息网编辑
千家信息网最后更新 2025年12月02日,微信中如何进行MMAlert的使用,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。如果大家时常用过微信或者用过iphone,就会发现有种从
千家信息网最后更新 2025年12月02日微信中如何进行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安全错误
数据库的锁怎样保障安全
dede重装 数据库密码
2b2t国际版服务器编号是什么
南京大学 数据库新技术
高速互联网科技公司
宝塔数据库管理后台用户名和密码
多选框怎么存数据库
服务器需要多大发电机
服务器断电如何保证数据一致性
软件开发用不用高数
北京地理信息软件开发
分布式软件开发程序
北京npu人工智能服务器云空间
网络安全性没有wpa3
穿感器网络技术及其应用
中国银联软件开发面试
服务器安全产业链
华为软件开发年龄大的在哪里
医院服务器怎么收费
网络安全重击消费电子
审计局网络安全计划
服务器装机需要什么配置
江西经视频道网络安全
北京市公安部网络安全保卫局
长宁区项目软件开发价格表格
目前好的网络安全公司
科密 数据库
服务器监控和管理
网络安全大赛在中国的战队
数据库精准创富术
网络安全运行与维护答案