From 1da5eba617deb18dafaee2a0275afbcb0cd8b7b7 Mon Sep 17 00:00:00 2001 From: Kangho Hur Date: Wed, 22 Mar 2017 17:09:47 +0900 Subject: Support window transparency - Should make window transparent before invoke LoadApplication() - According to the Tizen UX Guideline, naviframe (NavigationPage in Xamarin.Forms) has its own opaque background image by default. - So, it always looks opaque even if window is transparent. - To avoid these situations, DO NOT use NavigationPage and Navigation.PushModalAsync() if you want to make your application translucent. Change-Id: I202bd1c500e6932f2fc49c9c5c88e06acb0659af --- Xamarin.Forms.Platform.Tizen/Platform.cs | 9 +++++++++ .../Xamarin.Forms.Platform.Tizen.project.json | 2 +- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/Xamarin.Forms.Platform.Tizen/Platform.cs b/Xamarin.Forms.Platform.Tizen/Platform.cs index 69a435e3..4fe56e3f 100644 --- a/Xamarin.Forms.Platform.Tizen/Platform.cs +++ b/Xamarin.Forms.Platform.Tizen/Platform.cs @@ -135,6 +135,15 @@ namespace Xamarin.Forms.Platform.Tizen IVisualElementRenderer pageRenderer = AttachRenderer(Page); var naviItem = _naviframe.Push(pageRenderer.NativeView); naviItem.TitleBarVisible = false; + + // Make naviitem transparent if Forms.Context.MainWindow is transparent. + // Make sure that this is only for _navModel._naviTree. (not for _navModel._modalStack) + // In addtion, the style of naviItem is only decided before the naviItem pushed into Naviframe. (not on-demand). + if(Forms.Context.MainWindow.Alpha) + { + naviItem.Style = "default/transparent"; + } + ((Application)Page.RealParent).NavigationProxy.Inner = this; Device.StartTimer(TimeSpan.Zero, () => diff --git a/Xamarin.Forms.Platform.Tizen/Xamarin.Forms.Platform.Tizen.project.json b/Xamarin.Forms.Platform.Tizen/Xamarin.Forms.Platform.Tizen.project.json index 154c2710..9c281cb5 100644 --- a/Xamarin.Forms.Platform.Tizen/Xamarin.Forms.Platform.Tizen.project.json +++ b/Xamarin.Forms.Platform.Tizen/Xamarin.Forms.Platform.Tizen.project.json @@ -1,6 +1,6 @@ { "dependencies": { - "ElmSharp": "1.1.0-beta-011", + "ElmSharp": "1.1.0-beta-016", "NETStandard.Library": "1.6.0", "System.Runtime.Serialization.Xml": "4.1.1", "Tizen.Applications": "1.1.0", -- cgit v1.2.3