From: Samantha Houts Date: Thu, 18 Jul 2019 03:03:30 +0000 (-0700) Subject: Merge branch '4.1.0' into 4.2.0 X-Git-Tag: accepted/tizen/5.5/unified/20200421.150457~232^2~52 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=42f304f6120617eaeb3f6cd8643e2338909df450;p=platform%2Fcore%2Fcsapi%2Fxsf.git Merge branch '4.1.0' into 4.2.0 --- 42f304f6120617eaeb3f6cd8643e2338909df450 diff --cc Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Xamarin.Forms.Controls.Issues.Shared.projitems index e250e29,f6655e1..06ffbe5 --- a/Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Xamarin.Forms.Controls.Issues.Shared.projitems +++ b/Xamarin.Forms.Controls.Issues/Xamarin.Forms.Controls.Issues.Shared/Xamarin.Forms.Controls.Issues.Shared.projitems @@@ -991,9 -977,8 +991,10 @@@ + + + diff --cc Xamarin.Forms.Platform.Android/ViewExtensions.cs index 2645a88,1134377..52029a1 --- a/Xamarin.Forms.Platform.Android/ViewExtensions.cs +++ b/Xamarin.Forms.Platform.Android/ViewExtensions.cs @@@ -94,13 -94,14 +94,23 @@@ namespace Xamarin.Forms.Platform.Androi view.ClipToOutline = value; } + public static bool SetElevation(this AView view, float value) + { + if (view.IsDisposed() || !Forms.IsLollipopOrNewer) + return false; + + view.Elevation = value; + return true; + } ++ + internal static void MaybeRequestLayout(this AView view) + { + var isInLayout = false; + if ((int)Build.VERSION.SdkInt >= 18) + isInLayout = view.IsInLayout; + + if (!isInLayout && !view.IsLayoutRequested) + view.RequestLayout(); + } } } diff --cc Xamarin.Forms.Platform.Android/VisualElementRenderer.cs index 94b9eaa,bddbd6d..3c90674 --- a/Xamarin.Forms.Platform.Android/VisualElementRenderer.cs +++ b/Xamarin.Forms.Platform.Android/VisualElementRenderer.cs @@@ -235,10 -241,8 +235,11 @@@ namespace Xamarin.Forms.Platform.Androi if (AutoTrack && Tracker == null) SetTracker(new VisualElementTracker(this)); + if (oldElement != null) + Tracker?.UpdateLayout(); + - SendVisualElementInitialized(element, this); + if (element != null) + SendVisualElementInitialized(element, this); EffectUtilities.RegisterEffectControlProvider(this, oldElement, element);