From 2e2a3c889c23100a456fee4cedf64a4429845bf0 Mon Sep 17 00:00:00 2001 From: Daniel Panero Date: Thu, 24 Oct 2024 14:32:21 +0200 Subject: [PATCH] ViewGroup: Fix margin layout --- src/api-impl/android/view/ViewGroup.java | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/src/api-impl/android/view/ViewGroup.java b/src/api-impl/android/view/ViewGroup.java index ed45ca33..05bb41c9 100644 --- a/src/api-impl/android/view/ViewGroup.java +++ b/src/api-impl/android/view/ViewGroup.java @@ -454,10 +454,20 @@ public class ViewGroup extends View implements ViewParent, ViewManager { public MarginLayoutParams(Context context, AttributeSet attributeSet) { super(context, attributeSet); TypedArray a = context.obtainStyledAttributes(attributeSet, R.styleable.ViewGroup_MarginLayout); - leftMargin = a.getDimensionPixelSize(R.styleable.ViewGroup_MarginLayout_layout_marginLeft, 0); - topMargin = a.getDimensionPixelSize(R.styleable.ViewGroup_MarginLayout_layout_marginTop, 0); - rightMargin = a.getDimensionPixelSize(R.styleable.ViewGroup_MarginLayout_layout_marginRight, 0); - bottomMargin = a.getDimensionPixelSize(R.styleable.ViewGroup_MarginLayout_layout_marginBottom, 0); + int margin = a.getDimensionPixelSize(com.android.internal.R.styleable.ViewGroup_MarginLayout_layout_margin, -1); + + if (margin >= 0) { + leftMargin = margin; + topMargin = margin; + rightMargin= margin; + bottomMargin = margin; + } else { + leftMargin = a.getDimensionPixelSize(R.styleable.ViewGroup_MarginLayout_layout_marginLeft,0); + rightMargin = a.getDimensionPixelSize(R.styleable.ViewGroup_MarginLayout_layout_marginRight,0); + topMargin = a.getDimensionPixelSize(R.styleable.ViewGroup_MarginLayout_layout_marginTop,0); + bottomMargin = a.getDimensionPixelSize(R.styleable.ViewGroup_MarginLayout_layout_marginBottom,0); + } + a.recycle(); }