欢迎访问悦橙教程(wld5.com),关注java教程。悦橙教程  java问答|  每日更新
页面导航 : > > 文章正文

仿IPhone从底部弹出选项菜单,仿iphone弹出菜单,项目中开发需要,就是在点

来源: javaer 分享于  点击 12856 次 点评:250

仿IPhone从底部弹出选项菜单,仿iphone弹出菜单,项目中开发需要,就是在点


项目中开发需要,就是在点击某个控件(如头像ImageView)时要求弹出一个操作的选项菜单(对话框),效果就是像IPhone的一样,从手机屏幕底部往上弹出的,做了个简单的效果工具类,写下来方便下次使用。

 首先我们要定义弹出的对话框样式:
ublic static Dialog createShowAlert(final Context context, int layoutId) {/**方法中要传入建立对话框的Layout*/LayoutInflater inflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE);View layout = inflater.inflate(layoutId, null);final int cFullFillWidth = 10000;layout.setMinimumWidth(cFullFillWidth);                /** R.style.My_Dialog_Style为项目中正定义的样式*/final Dialog dlg = new Dialog(context, R.style.My_Dialog_Style);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);dlg.setContentView(layout);return dlg;}/*********在需要创建对话框的地方调用上面方法就可以**********************************/    public static final Dialog showConfirmAlert(final Context context, int titleStrId, int itemStrId, int itemColorId, View.OnClickListener onClick) {final Dialog dlg = createShowAlert(context, R.layout.my_dialog);/**调用上面的方法*/TextView titleView = (TextView) dlg.findViewById(R.id.textview1);titleView.setText(titleStrId);TextView itemView = (TextView) dlg.findViewById(R.id.textview2);itemView.setText(itemStrId);itemView.setTextColor(context.getResources().getColor(onClick));itemView.setOnClickListener(onClick);dlg.findViewById(R.id.cancel).setOnClickListener(new View.OnClickListener() {@Overridepublic void onClick(View v) {dlg.dismiss();}});return dlg;}这样就可以创建一个对话框了。
相关栏目:

用户点评