Это плохая практика использовать отрицательные поля в Android?

Demo of negative margin:

& # XA0; & # xA0; & # xA0; & # xA0; & # xA0; & # xA0; & # xA0; & # xA0; & # xA0; & # xA0; & # xA0; & # xA0; & # xA0; & # xA0; & # xA0; & # xA0; & # xA0; & # xA0; & # xA0; & # xA0; & # xA0; & # xA0; & # xA0; & # xA0; & # xA0;enter image description here

The scenario

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

Thoughts

Кажется, это работает так, как вы ожидаете, с перекрытием макетов, если они должны. Но я не хочу сталкиваться с более серьезной проблемой из-за того, что по незнанию не делает все правильно. Эмуляторы, физические устройства, вы называете это, когда вы используете отрицательные поля, кажется, что все работает правильно, одно представление пересекает границу другого представления, и в зависимости от того, как оно объявлено в макете, оно будет выше или ниже другого представления.

Я также знаю, что с API 21 мы можем установитьtranslationZ а такжеelevation  атрибуты для отображения вид выше или ниже других видов, ноmy concern в основном исходит из того, чтов документации дляlayout_margin атрибуты четко определены, чтоmargin values should be positiveПозвольте мне процитировать:

Excerpt:
Specifies extra space on the left, top, right and bottom sides of this view. This space is outside this view's bounds. Margin values should be positive. Must be a dimension value, which is a floating point number appended with a unit such as "14.5sp". Available units are: px (pixels), dp (density-independent pixels), sp (scaled pixels based on preferred font size), in (inches), mm (millimeters)...

За годы, прошедшие с тех пор, как я изначально задавал этот вопрос, у меня не было проблем с отрицательной маржой, я старался избегать их максимально возможного использования, но сделалnot возникнут какие-либо проблемы, поэтому, хотя в документации указано, что я не слишком беспокоюсь об этом.

Ответы на вопрос(7)

Ваш ответ на вопрос