/**
* 描述:工具类 包含各种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;
}
各种自定义的dialog
最新推荐文章于 2024-06-17 02:38:04 发布