Dialog默认显示在中间,要显示在其它位置时用下面的方法可以实现
private void ShowDialog() {
AlertDialog mDialog = new AlertDialog.Builder(this)
.setIcon(R.drawable.ic_launcher).setTitle("温馨提示")
.setMessage("透明对话框")
.setPositiveButton("确定", null).create();
// 获取对话框的Window对象
Window mWindow = mDialog.getWindow();
WindowManager.LayoutParams lp = mWindow.getAttributes();
// 透明度的范围为:0.0f-1.0f;0.0f表示完全透明,1.0f表示完全不透明(系统默认的就是这个)。
lp.alpha = 0.35f;
//设置对话框在屏幕的底部显示,当然还有上下左右,任意位置
//mWindow.setGravity(Gravity.LEFT);
mWindow.setGravity(Gravity.BOTTOM);
/*
*
* 这里是设置偏移量,这里的x,y并不是相对于屏幕的绝对坐标,而是相对于对话框在中心位置(默认的对话框一般显示在屏幕的中心)而言的
lp.x = -20;// 设置水平偏移量
lp.y = -90;// 设置竖直偏移量
*/
// 设置Window的属性
mWindow.setAttributes(lp);
mDialog.show();
}
时间: 2024-10-12 19:32:14