我想创建一个在用户按下按钮时出现的对话框。 (实际上,这是一种当用户用耳机点击按钮时出现的音量控制)
我有一个对话框的布局文件(高度取决于内容) 在 onCreate 方法中,我尝试设置 gravity top|right 和自定义边距(与我的按钮相同)。
this.getWindow().setGravity(Gravity.TOP | Gravity.RIGHT);
WindowManager.LayoutParams lp = this.getWindow().getAttributes();
lp.x = x;
lp.y = y;
但我得到的只是一个居中的右侧对话框(不是右上角!),没有任何边距。
换句话说,我想在屏幕上的指定点绘制带有自定义布局的对话框。
最佳答案
实现此目的的最简单方法是使用相对布局
RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(WIDTH, HEIGHT);
params.topMargin = X;
params.leftMargin = Y;
yourRelativeLayout.addView(myDialog, params);
X 应该类似于 clickedX - WIDTH/2...
希望这对您有所帮助!
关于android - 如何在按钮顶部创建对话框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9884966/