如何在左边显示对话框?

时间:2011-09-30 07:22:35

标签: android button onclick listeners

我想为按钮添加OnclickListener,我想在屏幕左侧显示对话框,点击它。我试图实现它但它总是出现在屏幕的中心。任何想法如何实现?

3 个答案:

答案 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())。