我有一个Android应用程序,其中有一个对话框,由于单击按钮而打开。在此,我想设置按钮下方对话框的位置。当我使用verticalMargin时,当我在具有不同屏幕分辨率的多个设备中进行测试时,相对于设备的位置变化。我需要的是,无论屏幕大小如何,对话框应始终显示在按钮下方。
答案 0 :(得分:2)
在各种帖子中搜索后,我找到了解决方案。
代码发布在下面:
private CharSequence[] items = {"Set as Ringtone", "Set as Alarm"};
AlertDialog.Builder builder = new AlertDialog.Builder(this);
builder.setItems(items, new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int item) {
if(item == 0) {
} else if(item == 1) {
} else if(item == 2) {
}
}
});
AlertDialog dialog = builder.create();
dialog.requestWindowFeature(Window.FEATURE_NO_TITLE);
WindowManager.LayoutParams wmlp = dialog.getWindow().getAttributes();
wmlp.gravity = Gravity.TOP | Gravity.LEFT;
wmlp.x = 100; //x position
wmlp.y = 100; //y position
dialog.show();
此处x位置的值是从左到右的像素。对于y位置值是从下到上。