您的位置:首页 > 其它

设置自定义有动画dialog

2014-09-09 09:49 309 查看
public class CustomDialog extends Dialog {

public CustomDialog(Context context, boolean cancelable, OnCancelListener cancelListener) {

super(context, cancelable, cancelListener);

init(context);

}

public CustomDialog(Context context, int theme) {

super(context, theme);

init(context);

}

public CustomDialog(Context context) {

super(context, R.style.dialog_style);

init(context);

}

/**

* 设置有动画的自定义dialog

* @version 1.0

* @createTime 2014年9月9日,上午9:29:49

* @updateTime 2014年9月9日,上午9:29:49

* @createAuthor WangYuWen

* @updateAuthor WangYuWen

* @updateInfo (此处输入修改内容,若无修改可不写.)

*

* @param layoutResID 布局文件

* @param x x小于0左移,大于0右移

* @param y y小于0上移,大于0下移

*/

public void showDialog(int layoutResID, int x, int y) {

setContentView(layoutResID);

windowDeploy(x, y);

// 设置触摸对话框意外的地方取消对话框

setCanceledOnTouchOutside(true);

//返回键退出

setCancelable(true);

show();

}

// 设置窗口显示

public void windowDeploy(int x, int y) {

window = getWindow(); // 得到对话框

window.setWindowAnimations(R.style.dialogWindowAnim); // 设置窗口弹出动画

window.setBackgroundDrawableResource(R.color.transparent); // 设置对话框背景为透明

WindowManager.LayoutParams wl = window.getAttributes();

// 根据x,y坐标设置窗口需要显示的位置

wl.x = x; // x小于0左移,大于0右移

wl.y = y; // y小于0上移,大于0下移

// wl.alpha = 0.6f; //设置透明度

// wl.gravity = Gravity.BOTTOM; //设置重力

window.setAttributes(wl);

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: