diff options
author | Paul DiPietro <pauldipietro@users.noreply.github.com> | 2016-11-16 06:43:30 -0600 |
---|---|---|
committer | Stephane Delcroix <stephane@delcroix.org> | 2016-11-16 13:43:30 +0100 |
commit | 85b349c380f18f722f484b50f285061d25fb1db6 (patch) | |
tree | 0bf5f7cffa42c1f49c59a26bd12d7fb9e66f3888 /Xamarin.Forms.Platform.Android | |
parent | 98235e0eea8b540ac10a71b97ee08a5842abd664 (diff) | |
download | xamarin-forms-85b349c380f18f722f484b50f285061d25fb1db6.tar.gz xamarin-forms-85b349c380f18f722f484b50f285061d25fb1db6.tar.bz2 xamarin-forms-85b349c380f18f722f484b50f285061d25fb1db6.zip |
[A] Check for parent NavigationPage when setting MDP detail's TopPadding (#473)
rebased
Diffstat (limited to 'Xamarin.Forms.Platform.Android')
-rw-r--r-- | Xamarin.Forms.Platform.Android/AppCompat/MasterDetailPageRenderer.cs | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/Xamarin.Forms.Platform.Android/AppCompat/MasterDetailPageRenderer.cs b/Xamarin.Forms.Platform.Android/AppCompat/MasterDetailPageRenderer.cs index ccf01f22..757a98b4 100644 --- a/Xamarin.Forms.Platform.Android/AppCompat/MasterDetailPageRenderer.cs +++ b/Xamarin.Forms.Platform.Android/AppCompat/MasterDetailPageRenderer.cs @@ -116,7 +116,7 @@ namespace Xamarin.Forms.Platform.Android.AppCompat { _detailLayout = new MasterDetailContainer(newElement, false, Context) { - TopPadding = statusBarHeight, + TopPadding = HasAncestorNavigationPage(Element) ? 0 : statusBarHeight, LayoutParameters = new LayoutParams(ViewGroup.LayoutParams.WrapContent, ViewGroup.LayoutParams.WrapContent) }; @@ -263,6 +263,16 @@ namespace Xamarin.Forms.Platform.Android.AppCompat event EventHandler<VisualElementChangedEventArgs> ElementChanged; + bool HasAncestorNavigationPage(Element element) + { + if (element.Parent == null) + return false; + else if (element.Parent is NavigationPage) + return true; + else + return HasAncestorNavigationPage(element.Parent); + } + void HandleMasterPropertyChanged(object sender, PropertyChangedEventArgs e) { } |