Demo der negativen Marge:
Das Szenario
Überlappende Ansichten, indem für einen von ihnen ein negativer Rand festgelegt wird, sodass er in den Begrenzungsrahmen einer anderen Ansicht eindringt.
Gedanken
Es scheint so zu funktionieren, wie Sie es von einer Überlappung der Layouts erwarten würden, wenn sie sollten. Aber ich möchte nicht auf ein größeres Problem stoßen, weil ich unwissentlich die Dinge nicht richtig mache. Emulatoren, physische Geräte, wie Sie es nennen, wenn Sie negative Ränder verwenden, scheint alles korrekt zu funktionieren, eine Ansicht greift in den Begrenzungsrahmen einer anderen Ansicht ein und befindet sich je nach Deklaration im Layout über oder unter der anderen Ansicht.
Ich bin mir auch bewusst, dass wir seit API 21 die Attribute translationZ
und festlegen können elevation
, damit die Ansicht über oder unter anderen Ansichten angezeigt wird. Mein Anliegen beruht jedoch im Wesentlichen auf der Tatsache, dass in der Dokumentation zu den layout_margin
Attributen klar angegeben ist, dass die Randwerte positiv sein sollten ich zitiere:
Auszug:
Gibt zusätzlichen Platz auf der linken, oberen, rechten und unteren Seite dieser Ansicht an. Dieser Bereich befindet sich außerhalb der Grenzen dieser Ansicht. Die Margin-Werte sollten positiv sein . Muss ein Dimensionswert sein, bei dem es sich um eine Gleitkommazahl handelt, an die eine Einheit wie "14.5sp" angehängt ist. Verfügbare Einheiten sind: px (Pixel), dp (dichteunabhängige Pixel), sp (skalierte Pixel basierend auf der bevorzugten Schriftgröße), in (Zoll), mm (Millimeter) ...
In den Jahren seit ursprünglich diese Frage habe ich keine Probleme hatte mit negativen Margen, versuchen mit ihnen so viel wie möglich zu vermeiden, aber habe nicht alle Probleme, die so , obwohl die Dokumentation besagt , dass, ich bin auch nicht besorgt darüber.