Android: разница между положительной, отрицательной и нейтральной кнопками

Существует ли функциональная разница между положительными, отрицательными и нейтральными кнопками, особенно в контексте AlertDialogs?

Просто позиция, которую они берут в диалоговом окне …

  • На устройствах до Honeycomb порядок кнопок (слева направо) был ПОЗИТИВНО – НЕЙТРАЛЬНО – НЕГАТИВНО.
  • На новых устройствах, использующих тему Holo, порядок кнопок (слева направо) теперь НЕГАТИВНО – НЕЙТРАЛЬНО – ПОЗИТИВНО.

Процитировать документацию :

Примечание. Вы можете добавить только один тип кнопки в AlertDialog. То есть, у вас не может быть более одной «положительной» кнопки. Это ограничивает количество возможных кнопок до трех: положительных, нейтральных и отрицательных. Эти имена технически не имеют отношения к фактической функциональности ваших кнопок, но должны помочь вам отслеживать, что делает что-то.

Таким образом, все зависит от того, как вы хотите его использовать. Это также влияет на порядок в смысле слева направо (см. Ответ Devunwired для заказа).

На Lolipop и выше или всякий раз, когда вы используете стиль Theme.AppCompat.Light , кнопки расположены слева направо: нейтральные, отрицательные и положительные.

Примечание: кнопка «Нейтральная» всегда располагается в крайнем левом углу, а кнопки «Отрицательные» и «Положительные» упакованы вместе вправо. [Принял меня некоторое время, сражаясь с этим.]

Расположение кнопок диалога с дизайном материалов

Как указывалось ранее, он определяет порядок, и вы можете иметь только одну кнопку каждого типа. Однако порядок, который я получаю (слева направо), нейтральный, отрицательный, положительный как на телефоне, работающем в Marshmallow, так и на эмуляторе Android Studio, настроенном на Jelly Bean. Я использую AppCompat libs, поэтому поведение, которое я наблюдаю, может быть типичным для новых версий Android. Во всяком случае, это не отрицательный, нейтральный, позитивный (т. Е. Не так, как было сказано ранее).

В соответствии с руководством по дизайну материалов вы больше не должны использовать нейтральные кнопки:

Диалоговые спецификации