仿IPhone从底部弹出选项菜单
2018-07-20 来源:open-open
项目中开发需要,就是在点击某个控件(如头像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() { @Override public void onClick(View v) { dlg.dismiss(); } }); return dlg; } 这样就可以创建一个对话框了。
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点!
本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。
上一篇:Android判断是否是平板
下一篇:C语言实现堆排序代码
最新资讯
热门推荐