android ConstraintLayout does not allow negative margins
I position lots of items relative to a layout guide, and would like to position a new item nearly relative to this layout guide.
I tried with a negative layout margin without success.
Here is a blog posting that discusses negative margins in
Using Spaces for negative margins
A view in a ConstraintLayout cannot have negative margins (it’s not supported). However, with an easy trick you can have similar functionality by inserting a Space (which is essentially an empty View) and setting its size to the margin you want.
How to achieve overlap/negative margin on Constraint Layout , ConstraintLayout android:layout_width="match_parent" Negative margins will not be supported in ConstraintLayout.  layout and constraint layout does not allowed negative margin so i achieved this with below code. You do NOT need to add both start/end AND left/right margins. android:layout_marginStart and android:layout_marginEnd are sufficient. – Shroud May 31 '18 at 22:18 @Shroud as I said in the answer, start/end were added in API level 17, so if you're supporting API 16 or earlier these attributes will be ignored and you should use left/right.
ConstraintLayout: NEVER EVER! - Rami Jemli, It has some really amazing features that allow to handle… When it comes to layout creation in Android, ConstraintLayout is literally the Holy Grail! If we do not set the constraints, ConstraintLayout will not know how to position So, NEVER EVER use negative margins like you used to in RelativeLayout. In my Fragment I have a ConstraintLayout with layout_height="wrap_content" and I would like to have a margin between my two bottons at the bottom of the view.. When I add this margin as layout_marginBottom to the upper button (button_welcome_signup) it seems to work fine.
You can use a View to hold a fixed value like 30dp like below:
<com.mapbox.mapboxsdk.maps.MapView android:id="@+id/mapView" android:layout_width="0dp" android:layout_height="0dp" android:layout_marginTop="45dp" app:layout_constraintBottom_toBottomOf="@id/space" app:layout_constraintLeft_toLeftOf="parent" app:layout_constraintRight_toRightOf="parent" app:layout_constraintTop_toTopOf="parent" app:mapbox_uiRotateGestures="false" /> <View android:id="@+id/space" android:layout_width="match_parent" android:layout_height="30dp" app:layout_constraintTop_toBottomOf="parent" />
How to achieve overlap/negative margin on Constraint Layout?, Is it possible to achieve negative margin on constraint layout to achieve overlap? one caveat: The translation occurs post-layout, so views that are constrained to the displaced view will not follow the translation. <android.support.constraint. Negative margin applied using the Space widget. Using relative positioning constraints, we can position a space widget outside the parent view group to act as a negative margin (width/height = margin). Next, we have to align the needed view’s edge with the space widget’s respective edge outside.
Creating a view for position your siblings might not be the best call because the view will be drawn (even if it's invisible) it will still uses ressources.
You can try to use guidelines instead :
You can add a vertical or horizontal guideline to which you can constrain views, and the guideline will be invisible to app users. You can position the guideline within the layout based on either dp units or percent, relative to the layout's edge.
Negative margin in ConstraintLayout using the Space widget · GitHub, Is it possible to achieve negative margin on constraint layout to achieve overlap? Space android:id="@+id/marginSpacer" android:layout_width="0dp" layout in constraint layout and constraint layout does not allowed negative margin so i How to achieve overlap/negative margin on Constraint Layout? (5) Negative margins have never been officially supported in RelativeLayout. Negative margins will not be supported in ConstraintLayout.  -- Romain Guy on Jun 8, 2016
Android ContraintLayout Negative Margin (Partially Outside of , This example will put a box at the bottom of the parent view, where 50% of box is outside of / covered by the parent. layout_margin treat negative value as 0; To simulate negative margin, create a <androidx.constraintlayout.widget. Buy me a coffee☕ or support my work to keep this space and ad-free. You can now see any margin that Android Studio inferred on your behalf, whether you wanted it to or not. These margins may look like android:layout_marginStart="16dp". Go ahead and delete any margin attributes from the Raze Galactic TextView and switch back to the design view. The Raze Galactic TextView should now appear aligned with the rocket
ConstraintLayout negative margin support : androiddev, Is it possible to extend ConstraintLayout and add negative margin support by ourself? Negative margins will not be supported in ConstraintLayout. I've made a simple android game, where you need to identify characters based on their Chains are a specific kind of constraint which allow us to share space between the views within the chain and control how the available space is divided between them. The closest analogue with traditional Android layouts is weights in LinearLayout , but chains do far more than that, as we shall see.
ConstraintLayout in the LIMELIGHT, The Android team did a great job channeling ConstraintLayout's power through the layout Negative values as a margin are not allowed. I tried setting negative margin value but no luck. It would be great if there is a way to achieve this. Negative margins have never been officially supported in RelativeLayout. Negative margins will not be supported in ConstraintLayout.