как выровнять оповещение кнопок диалога по левому краю? - PullRequest
0 голосов
/ 02 июля 2019

Я хочу создать диалоговое окно с кнопками ltr.но кажется, что мы не можем получить доступ к положительным деталям кнопок.

этот ответ был для выравнивания кнопок по центру, но я хочу выровнять его по левому краю.

Я только что проверил стек и не нашел ничего, что покрывало бы это. Я не хочу создавать custom_layout.xml для диалога.

Ответы [ 2 ]

1 голос
/ 02 июля 2019

Это ответ по ссылке, которую вы разместили.Вам нужно изменить вес параметров макета с 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);

Надеюсь, это поможет!

Дополнительная информация: Теперь, когда я понимаю вопрос, нет, к сожалению, вы не можете изменить порядок или кнопки.Заказ отрицательный - нейтральный - положительный.Но когда у вас есть кнопка, вы можете выбрать, что делать.Например, вы можете использовать отрицательную кнопку как положительную, просто переименовав ее в одну строку.

0 голосов
/ 02 июля 2019

Вы можете попробовать это;

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