Демонстрація від'ємної маржі:
Сценарій
Перекривання подань, встановивши для одного з них негативний запас, щоб він вторгся у обмежувальне поле іншого подання.
Думки
Здається, це працює так, як ви очікували, перекриваючи макети, якщо вони повинні. Але я не хочу стикатися з більшою проблемою за те, що несвідомо не робити все правильно. Емулятори, фізичні пристрої, ви називаєте це, коли ви використовуєте негативні поля, все, здається, працює нормально, один вид вторкається в обмежувальне поле подань іншого, і залежно від того, як це оголошено в макеті, воно буде вище або нижче іншого.
Я також усвідомлюю, що оскільки API 21 ми можемо встановити атрибути translationZ
та elevation
атрибути для того, щоб перегляд відображався над або під іншими переглядами, але моє занепокоєння в основному випливає з того, що в документації для layout_margin
атрибутів чітко вказано, що значення граничних показників повинні бути позитивними , нехай цитую мені:
Уривок:
Вказує додатковий простір зліва, у верхній, правій та нижній частині цього подання. Цей простір знаходиться поза межами цього перегляду. Значення маржі повинні бути позитивними . Повинно бути значенням розміру, яке є числом з плаваючою комою, додане до одиниці типу "14.5sp". Доступні одиниці: px (пікселі), dp (незалежні від щільності пікселі), sp (масштабовані пікселі на основі бажаного розміру шрифту), в (дюйми), mm (міліметри) ...
За роки, що спочатку задавали це питання, у мене не було жодних проблем з негативними полями, я намагався уникати їх використання якомога більше, але не стикався з жодними проблемами, тому, хоча в документації зазначено, що я не надто турбує це.