各种自定义的dialog

/**
 * 描述:工具类 包含各种dialog 
 * @author LiuZiwei
 *
 */
public class MyTools {

	/**
	 * 描述:自定义的dialog
	 * @author LiuZiwei
	 * @param context
	 * @param view 自定义的视图
	 * @param position 显示的位置  Gravity.BOTTOM底部
	 * @return Dialog
	 */
  @SuppressWarnings("deprecation")
public static Dialog showDialog(Activity context,View view,int position){
	  
	   Dialog dialog=new Dialog(context,R.style.dialog);
	   Window window = dialog.getWindow();  
	   window.setGravity(position);  //此处可以设置dialog显示的位置  
	   dialog.setContentView(view);   	   
	   //对dialog的窗口大小进行设置
	   Window dialogWindow = dialog.getWindow();
	   WindowManager m = context.getWindowManager();
	   Display d = m.getDefaultDisplay(); // 获取屏幕宽、高用
	   WindowManager.LayoutParams p = dialogWindow.getAttributes(); // 获取对话框当前的参数值
	   p.width=(int)d.getWidth();

	   dialogWindow.setAttributes(p);
	  
	   if(position==Gravity.BOTTOM){

		   window.setWindowAnimations(R.style.c_anim_move_bt);
	   }

	   return dialog;
  }
  /**
   * 描述:自定义的dialog
   * @author LiuZiwei
   * @param context
   * @param view
   * @param position 显示位置
   * @param width dialog的宽度 double
   * @param height dialog的高度 double
   * @return
   */
	@SuppressWarnings("deprecation")
	public static Dialog showDialog(Activity context,View view,int position,double width,double height){
		  
		   Dialog dialog=new Dialog(context,R.style.dialog);
		   Window window = dialog.getWindow();  
		   window.setGravity(position);  //此处可以设置dialog显示的位置  
		  
		   dialog.setContentView(view);   	   
		   //对dialog的窗口大小进行设置
		   Window dialogWindow = dialog.getWindow();
		   WindowManager m = context.getWindowManager();
		   Display d = m.getDefaultDisplay(); // 获取屏幕宽、高用
		   WindowManager.LayoutParams p = dialogWindow.getAttributes(); // 获取对话框当前的参数值
		   if(width!=0.0){
			   p.width=(int)(d.getWidth()*width);
		   }
		   if(height!=0.0){
			   p.height=(int)(d.getHeight()*height);
		   }
		 
		   dialogWindow.setAttributes(p);

		   
		   return dialog;
	}

	/**
	 * 描述:自定义的dialog
	 * @author LiuZiwei
	 * @param context 上下文
	 * @param str  显示的文字
	 * @return Dialog
	 */
	public static Dialog showLoadDialog(Activity context,String str){
	
		Dialog myDialog=new Dialog(context,R.style.dialog);		
		View view=LayoutInflater.from(context).inflate(R.layout.c_dialog_load, null);
		view.findViewById(R.id.dialog_layout).getBackground().setAlpha(200);
		TextView text=(TextView) view.findViewById(R.id.dialog_text);

		myDialog.setContentView(view);
		if(null==str || "".equals(str)){
			text.setVisibility(View.GONE);
		}else{
			text.setText(str);
		}

		
		return myDialog;
	}
	
	/**
	 * 描述:有确定取消按钮的dialog 
	 * @param context 
	 * @param str 提示文字
	 * @param click 确定点击事件
	 * @return Dialog
	 */

	public static Dialog showRemindDialog(Activity context,String str,OnClickListener click){
		View v=LayoutInflater.from(context).inflate(R.layout.c_dialog_remind, null);
		final Dialog dialog=showDialog(context, v, Gravity.CENTER,0.9,0.0);
		Button btn_cancel=(Button) v.findViewById(R.id.c_dialog_remind_cancel);
		Button btn_confirm=(Button) v.findViewById(R.id.c_dialog_remind_confirm);
		TextView tv_title=(TextView) v.findViewById(R.id.c_dialog_remind_title);
		if(null!=tv_title && null!=str){
			tv_title.setText(str);
		}
		
		btn_cancel.setOnClickListener(new OnClickListener() {
			
			@Override
			public void onClick(View arg0) {
				if(dialog.isShowing()){
					dialog.dismiss();
				}
				
			}
		});
		btn_confirm.setOnClickListener(click);
		return dialog;
		
	}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值