我想为按钮添加OnclickListener,我想在屏幕左侧显示对话框,点击它。我试图实现它但它总是出现在屏幕的中心。任何想法如何实现?
答案 0 :(得分:2)
如果我理解你的问题 - 你想对齐你的对话框不会出现在屏幕的中央。然后看看这个代码示例。
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.x = 100; //x position
WMLP.y = 100; //y position
dialog.getWindow().setAttributes(WMLP);
dialog.show();
这里x位置的值是从左到右的像素。对于y位置值是从下到上。
答案 1 :(得分:1)
在#show()
上致电AlertDialog
之前,您可以调整对话框窗口的重力:
AlertDialog dlg = ...;
dlg.getWindow().getAttributes().gravity = Gravity.LEFT|Gravity.CENTER_VERTICAL;
这会将对话框移到屏幕左侧。根据您的口味调整重力旗。
答案 2 :(得分:0)
只需在java文件中添加以下行,就会从对话框中删除额外的空格。
对话框对话框;对话=新 对话框(Activity.this,android.R.style.Theme_DeviceDefault_Light_Panel);
以上代码适用于我。我希望它也会为其他人工作。 注意:您需要传递活动上下文而不是普通上下文(getApplicationContext())。