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