1、概述
- 相信大家在项目开发中都会用到一些提示框,如果用的地方多了系统的dialog无法满足需求,那我们就要自定义dialog了,怎样能够简单方便呢?不多说了直接上代码。
2、BaseDialog.java
public class BaseDialog extends Dialog {
private Context context;
private int itemLayoutId;
/**
* 无高度设置、居中显示
* @param mContext
* @param view
* @return
*/
public static BaseDialog showDialog(Activity mContext, int view) {
BaseDialog dialog = new BaseDialog(mContext, R.style.SubmitDialog, view);
dialog.show();
return dialog;
}
/**
* 距离头部、底部的高度
* @param mContext
* @param view
* @param y
* @return
*/
public static BaseDialog showDialog(Activity mContext, int view,int mGravity, int y) {
BaseDialog dialog = new BaseDialog(mContext, R.style.SubmitDialog, view);
Window dialogWindow = dialog.getWindow();
WindowManager.LayoutParams lp = dialogWindow.getAttributes();
dialogWindow.setGravity(mGravity);
lp.y = y; // 新位置Y坐标
dialogWindow.setAttributes(lp);
dialog.show();
return dialog;
}
public BaseDialog(Context context, int theme, int itemLayoutId) {
super(context, theme);
this.context = context;
this.itemLayoutId = itemLayoutId;
}
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState)