Демо отрицательной маржи:
Сценарий
Перекрытие представлений путем установки отрицательного поля для одного из них, чтобы оно вторгалось в ограничивающую рамку другого представления.
мысли
Кажется, это работает так, как вы ожидаете, с перекрытием макетов, если они должны. Но я не хочу столкнуться с более серьезной проблемой из-за того, что по незнанию не все делаю правильно. Эмуляторы, физические устройства, вы называете это, когда вы используете отрицательные поля, кажется, что все работает правильно, одно представление вторгается в ограничивающую рамку другого представления и в зависимости от того, как оно объявлено в макете, оно будет выше или ниже другого представления.
Я также знаю , что с API 21 мы можем установить translationZ
и elevation
атрибуты , чтобы сделать вид появляется выше или ниже другие взгляды , но мое беспокойство в основном исходит из того , что в документации для layout_margin
атрибутов это явно указано , что значения маржи должны быть положительными , пусть я цитирую:
Отрывок:
указывает дополнительное пространство слева, сверху, справа и снизу этого вида. Это пространство находится за пределами этого представления. Значения маржи должны быть положительными . Должно быть значение измерения, представляющее собой число с плавающей запятой, к которому добавляется единица измерения, например «14,5 sp». Доступные единицы: px (пиксели), dp (пиксели, не зависящие от плотности), sp (масштабированные пиксели на основе предпочтительного размера шрифта), in (дюймы), мм (миллиметры) ...
За годы, прошедшие с тех пор, как я задал этот вопрос, у меня не было проблем с отрицательными полями, я старался избегать их использования в максимально возможной степени, но не сталкивался с какими-либо проблемами, поэтому, хотя в документации указано, что я не слишком беспокоился об этом.