我有一个android应用程序,其中有一个通过单击按钮而打开的对话框。在此,我想将对话框的位置设置在按钮的正下方。当我使用verticalMargin时,位置相对变化当我在多个具有不同屏幕分辨率的设备中进行测试时,该设备将显示在设备上。我需要的是,无论屏幕大小如何,对话框都应该始终显示在按钮下方。
最佳答案
在各种帖子中搜索后,我找到了解决方案。
该代码发布在下面:
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,位置值是从下到上。
关于android - 如何在相对于android中的设备的特定位置调整对话框的位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22556565/