如何将警报对话框按钮向左对齐?

时间:2019-07-02 07:49:18

标签: android android-alertdialog

我想创建一个带有ltr按钮的警报对话框。但似乎我们无法访问正面的按钮详细信息。

answer用于将按钮居中对齐,但我想将其向左对齐。

我刚刚检查了堆栈,却没有找到任何涵盖此内容的内容。我不想为对话框创建custom_layout.xml。

2 个答案:

答案 0 :(得分:1)

这是您发布的链接的答案。您需要将布局参数的权重从10更改为-10,以从中心向左移动。

 AlertDialog alertDialog = new AlertDialog.Builder(getActivity()).create();
 alertDialog.setTitle("Title");
 alertDialog.setMessage("Message");

 alertDialog.setButton(AlertDialog.BUTTON_POSITIVE, "Yes",
             new DialogInterface.OnClickListener() {
                  public void onClick(DialogInterface dialog, int which) {
                            dialog.dismiss();
                        }
                    });

alertDialog.show();

Button btnPositive = alertDialog.getButton(AlertDialog.BUTTON_POSITIVE);
Button btnNegative = alertDialog.getButton(AlertDialog.BUTTON_NEGATIVE);

LinearLayout.LayoutParams layoutParams = (LinearLayout.LayoutParams) btnPositive.getLayoutParams();

//Changing the weight to negative pushes it to the left.
layoutParams.weight = -10;

btnPositive.setLayoutParams(layoutParams);
btnNegative.setLayoutParams(layoutParams);

希望有帮助!

更多信息:由于我已经理解了这个问题,很遗憾,您无法更改顺序或按钮。顺序为负-中性-正。但是一旦有了按钮,您就可以选择处理任何事情。例如,您可以将负号按钮用作正号,只需将其重命名为一行即可。

答案 1 :(得分:0)

您可以尝试这个;

new AlertDialog.Builder(activity)
            .setNeutralButton("Your text", new DialogInterface.OnClickListener() {
                @Override
                public void onClick(DialogInterface dialog, int which) {
                    //do what you want
                }
            }).show();