如何更改尺寸自定义对话框

时间:2015-08-20 07:34:20

标签: android size customdialog

我在android中使用自定义对话框。 我希望在所有屏幕中更改大小自定义对话框,但这是在所有屏幕 一个尺寸 。我使用2类进行自定义对话:

  1. 将xml文件绑定到自定义对话框
  2. 用于展示自定义对话框
  3. 这是show custom dialog的类:

    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);
    }
    

    }

    请帮帮我。

1 个答案:

答案 0 :(得分:0)

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

  1. 更改布局文件大小。

    您需要更改布局" R.layout.alert_dialog",并根据您的要求更改布局大小。 如果您需要更多帮助,请告诉我您的XML布局文件。

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

    https://stackoverflow.com/a/6922903/4876386

  3. 更新答案.... 如果你想在不同的地方获得动态大小的对话框,那么你需要创建一个函数,在该函数中你可以在运行时指定对话框的高度和宽度。在自定义对话框代码中使用此函数,给出宽度和放大器的大小;运行时的高度。

    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:

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