menuDialog = new AlertDialog.Builder(this).create();
Window mWindow = menuDialog.getWindow();
WindowManager.LayoutParams lp = mWindow.getAttributes();
lp.x = 10; //新位置X坐标
lp.y = 120; //新位置Y坐标
menuDialog.onWindowAttributesChanged(lp);
menuDialog.show();
新位置的坐标如果是X=0 Y=0的话 那么弹出位置就是中间,负数的话就是向左,正数就是向右,相反就是向上向下。
同样如果你将Dialog封装在一个实体里也正常使用。