summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKangho Hur <kangho.hur@samsung.com>2017-03-22 17:09:47 +0900
committerKangho Hur <kangho.hur@samsung.com>2017-03-22 17:09:47 +0900
commit1da5eba617deb18dafaee2a0275afbcb0cd8b7b7 (patch)
tree53bcd0821ca52ce8c4f886ea9c70a5ab4ebe5679
parent0ee49106e28e725b4ffc059fec1664d805bf844e (diff)
downloadxamarin-forms-1da5eba617deb18dafaee2a0275afbcb0cd8b7b7.tar.gz
xamarin-forms-1da5eba617deb18dafaee2a0275afbcb0cd8b7b7.tar.bz2
xamarin-forms-1da5eba617deb18dafaee2a0275afbcb0cd8b7b7.zip
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
-rw-r--r--Xamarin.Forms.Platform.Tizen/Platform.cs9
-rw-r--r--Xamarin.Forms.Platform.Tizen/Xamarin.Forms.Platform.Tizen.project.json2
2 files changed, 10 insertions, 1 deletions
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",