3

可能重复:
在屏幕的任何位置显示 AlertDialog

如您所知,DefaultDialog具有Gravity诸如等属性RightTop但是是否可以将 Dialog 放置在用户触摸屏幕的位置而不是默认重力属性?

使用来自 onTouch(...) 方法或类似方法的轻敲 x 和 y 坐标,有可能吗?

例如,我在屏幕上触摸 (50, 50) x 和 y 坐标,可能不在同一个位置,而是在靠近该触摸点的任何位置。

4

1 回答 1

3

从事件(例如 onTouchListener)中获取动作的坐标,然后使用对话框的布局参数来设置位置

WindowManager.LayoutParams params = myDialog.getWindow().getAttributes();
params.x = 300;
params.y = 300;
myDialog.getWindow().setAttributes(params);
于 2012-10-19T11:57:25.770 回答