问题分析
AlertDialog默认位置居中此时params.height的值为0,所以要使params.height向上有半个屏幕的偏移量,这样就以Y轴为参考系了。
解决方案
WindowManager.LayoutParams params=dialog.getWindow().getAttributes();
screenHeight=getWindowManager().getDefaultDisplay().getHeight();
params.y= (int) (纵坐标所要在的位置-0.5f*screenHeight);
dialog.getWindow().setAttributes(params);