如何更改大小自定义对话框

How to change size custom dialog

我在 android 中使用 自定义对话框 。 我想在所有屏幕上更改大小的自定义对话框,但这在所有屏幕上都是 一个大小。我为自定义对话框使用了 2 class:

  1. 将 xml 文件绑定到自定义对话框
  2. 用于显示自定义对话框

这是 class 用于显示自定义对话框:

public class mh_show_dialog {

public Button yes , no;

private TextView txt;

private Context context ;

final mh_alert_dialog dialog; 

public mh_show_dialog(Context co)
{
    this.context = co;
    dialog = new mh_alert_dialog(context);
}

public void dialog_text(String message , String btn_yes , String btn_no , String image_title)
{

    dialog.set_text(message,btn_yes,btn_no);
    dialog.set_image(image_title);

    yes = (Button) dialog.findViewById(R.id.alert_yes);
    no = (Button) dialog.findViewById(R.id.alert_no);

    txt = (TextView) dialog.findViewById(R.id.alert_msg);

    no.setOnClickListener(new Button.OnClickListener() 
    {
        public void onClick(View v)     {
            dialog_dismiss();
        }
    });
    dialog.show();
}

public void dialog_dismiss()
{
    dialog.dismiss();
}

public void False_visible_btn_no()
{
    no.setVisibility(View.INVISIBLE);
}

}

请帮帮我。

您的问题是“我在 android 中使用自定义对话框。我想在所有屏幕中更改大小的自定义对话框”。 你可以做几件事。

  1. 更改布局文件大小。

    您需要更改布局“R.layout.alert_dialog”,并根据您的要求更改布局大小。 如果您需要更多帮助,请向我展示您的 XML 布局文件。

  2. 在运行时设置大小(在你的 DialogHelper java 文件中)检查这个答案

更新答案.... 如果你想在不同的地方获得动态大小的对话框,那么你需要创建一个函数,在其中指定对话框的高度和宽度 运行 time.Use 这个函数在你的自定义对话框代码中, 在 运行 时给出宽度和高度的大小。

public void showInfoAlertDialog(Context context, String message,int height, int width) {
        AlertDialog.Builder alertDialog = new AlertDialog.Builder(context);

        // Setting Dialog Message
        alertDialog.setMessage(message);

        // Setting OK Button
        alertDialog.setPositiveButton("OK",
                new DialogInterface.OnClickListener() {
                    public void onClick(DialogInterface dialog, int which) {
                    }
                });

        // Showing Alert Message
        AlertDialog alert = alertDialog.show();
        TextView messageText = (TextView) alert
                .findViewById(android.R.id.message);
        messageText.setGravity(Gravity.CENTER);

        alert.show();
        alertDialog.getWindow().setLayout(width, hight);
    }

更新 4:

现在在两个位置更改您的代码,