如何在按钮上方创建对话框

3
我想创建一个对话框,当用户按下按钮时出现。实际上,它是一种音量控制,当用户点击带有耳机的按钮时出现。
我有一个用于对话框的布局文件(高度取决于内容),并且在onCreate方法中,我尝试设置重力为top|right和自定义边距(与我的按钮相同)。
this.getWindow().setGravity(Gravity.TOP | Gravity.RIGHT);
WindowManager.LayoutParams lp = this.getWindow().getAttributes();
lp.x = x;
lp.y = y;

但我得到的只是一个居中对话框在右边(不是右上角!)没有任何边距。
换句话说,我想在屏幕上指定的位置绘制自定义布局的对话框。
2个回答

1
使用相对布局是实现这一点最简单的方法。
RelativeLayout.LayoutParams params = new RelativeLayout.LayoutParams(WIDTH, HEIGHT);
params.topMargin = X;
params.leftMargin = Y;
yourRelativeLayout.addView(myDialog, params);

X 应该类似于 clickedX - WIDTH/2...

希望这对您有所帮助!


1

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接