Что делают значения маржи для Toast?

Класс Android Toast предоставляет методы для получения и установки полей. Я почти уверен, что они ссылаются на внешние поля для всего тоста. Поскольку сообщения Toast плавают над пользовательским интерфейсом, почему именно эти поля необходимы?

Я пробовал просматривать ссылку на SDK, а также искать в Интернете. Ближе всего к решению, которое я нашел, было однострочное предложение о том, что оба поля и смещения позволяют контролировать позиционирование Тоста. Зачем мне нужны два метода (хотя и концептуально разные, поскольку поля допускают спецификацию с точки зрения ширины контейнера в процентах), чтобы управлять позиционированием Тоста?

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

В общем, я хочу знать, зачем нужны поля, какие поля и какие варианты использования для полей или смещений, то есть когда я должен использовать поля, когда следует использовать смещения и почему?

Обновить:

Я пока не нашел ответов. Я пробовал использовать поля по сравнению с использованием смещений в коде и обнаружил, что они, похоже, предлагают две разные парадигмы позиционирования Тоста. Цель проекта (почему два метода), когда я должен использовать один метод по сравнению с другим (или, по крайней мере, примеры того, когда один из них был более полезным, чем другие разработчики программистов / пользовательских интерфейсов) и даже точная операция (do margins " Центр «тост внутри них» – это поля, приложенные к ближайшим краям контейнера?) Этих методов остаются неясными.

Обновление 2:

Я внимательно посмотрел на документы, а также на некоторый код для Toast.java, который указал мне Google. Что стало очевидным, так это то, что Toast содержится в окне (Окно активности?) И что это может быть оверлей. Класс WindowManager.LayoutParams также дал дополнительные подсказки. Я решил немного поиграть с тостами, смещениями и полями, а также посмотреть код из AOSP, чтобы получить более четкое понимание.

Я обновляю здесь, когда узнаю больше.

Я полагаю, что поля определяют, как далеко тост появляется с края экрана. Вы также можете вызвать setGravity (), чтобы изменить ту сторону экрана, на которой он отображается, а затем использовать поля для управления тем, насколько далеко он находится со стороны экрана. Так, например:

myToast.setMargin(10, 20); 

Создает тост, который имеет 10% ширины контейнеров между краем и контейнером, и 20% высоты контейнеров между тостом и краем контейнеров

Чтобы создать тост, который находится в верхнем левом углу контейнера, с краем 10 пикселей слева и 20 пиксельным краем сверху:

 myToast.setGravity(Gravity.LEFT| Gravity.TOP, 10, 20)