-<?xml version="1.0" encoding="UTF-8"?>\r
-<ViewCell xmlns="http://xamarin.com/schemas/2014/forms"\r
- xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"\r
- x:Class="TVHome.Controls.MainPanelButton">\r
- <RelativeLayout Opacity="0.3">\r
- <BoxView x:Name = "ButtonBox"\r
- RelativeLayout.HeightConstraint="{ConstraintExpression Type=RelativeToParent, Property=Height, Factor=1}"\r
- RelativeLayout.WidthConstraint="{ConstraintExpression Type=RelativeToParent, Property=Height, Factor=1}"\r
- Color="Red" />\r
- <Image x:Name="ButtonImage"\r
- RelativeLayout.HeightConstraint="{ConstraintExpression Type=RelativeToParent, Property=Height, Factor=1}"\r
- RelativeLayout.WidthConstraint="{ConstraintExpression Type=RelativeToParent, Property=Height, Factor=1}"\r
- Source="{Binding CurrentStateDescription.IconPath}" />\r
- <Label x:Name="ButtonTitle"\r
- RelativeLayout.HeightConstraint="{ConstraintExpression Type=RelativeToParent, Property=Height, Factor=0.2}"\r
- RelativeLayout.WidthConstraint="{ConstraintExpression Type=RelativeToParent, Property=Height, Factor=1}"\r
- RelativeLayout.YConstraint="{ConstraintExpression Type=RelativeToParent, Property=Height, Factor=0.8}"\r
- Opacity="0"\r
- LineBreakMode="TailTruncation"\r
- Text="{Binding CurrentStateDescription.Label}" />\r
- <Button x:Name = "ButtonFocusArea"\r
- RelativeLayout.HeightConstraint="{ConstraintExpression Type=RelativeToParent, Property=Height, Factor=1}"\r
- RelativeLayout.WidthConstraint="{ConstraintExpression Type=RelativeToParent, Property=Height, Factor=1}"\r
- Focused="OnFocused"\r
- Unfocused="OnUnfocused"\r
- Clicked="OnClicked"\r
- Opacity="0" />\r
- </RelativeLayout>\r
-</ViewCell>
\ No newline at end of file
+<?xml version="1.0" encoding="UTF-8"?>
+<ViewCell xmlns="http://xamarin.com/schemas/2014/forms"
+ xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
+ x:Class="TVHome.Controls.MainPanelButton">
+ <RelativeLayout Opacity="0.3">
+ <BoxView x:Name = "ButtonBox"
+ RelativeLayout.HeightConstraint="{ConstraintExpression Type=RelativeToParent, Property=Height, Factor=1}"
+ RelativeLayout.WidthConstraint="{ConstraintExpression Type=RelativeToParent, Property=Width, Factor=1.03}"
+ RelativeLayout.YConstraint="{ConstraintExpression Type=RelativeToParent, Property=Height, Factor=0}"
+ RelativeLayout.XConstraint="{ConstraintExpression Type=RelativeToParent, Property=Width, Factor=0}"
+ Opacity="0"/>
+ <Image x:Name="ButtonBgImage"
+ RelativeLayout.HeightConstraint="{ConstraintExpression Type=RelativeToView, ElementName=ButtonBox, Property=Height, Factor=1}"
+ RelativeLayout.WidthConstraint="{ConstraintExpression Type=RelativeToView, ElementName=ButtonBox, Property=Width, Factor=1.6857}"
+ RelativeLayout.YConstraint="{ConstraintExpression Type=RelativeToView, ElementName=ButtonBox, Property=Height, Factor=0}"
+ RelativeLayout.XConstraint="{ConstraintExpression Type=RelativeToView, ElementName=ButtonBox, Property=Width, Factor=-0.343}"
+ Source="img_tizen_home_menu_focused_bg.png"
+ Opacity="0"/>
+ <Image x:Name="ButtonImage"
+ RelativeLayout.HeightConstraint="{ConstraintExpression Type=RelativeToParent, Property=Height, Factor=0.218}"
+ RelativeLayout.WidthConstraint="{ConstraintExpression Type=RelativeToParent, Property=Width, Factor=1}"
+ RelativeLayout.YConstraint="{ConstraintExpression Type=RelativeToParent, Property=Height, Factor=0.390}"
+ RelativeLayout.XConstraint="{ConstraintExpression Type=RelativeToParent, Property=Width, Factor=0}"
+ Source="{Binding CurrentStateDescription.IconPath}" />
+ <Label x:Name="ButtonTitle"
+ RelativeLayout.YConstraint="{ConstraintExpression Type=RelativeToView, ElementName=ButtonBox, Property=Height, Factor=0.8739}"
+ RelativeLayout.XConstraint="{ConstraintExpression Type=RelativeToView, ElementName=ButtonBox, Property=Width, Factor=0}"
+ RelativeLayout.WidthConstraint="{ConstraintExpression Type=RelativeToView, ElementName=ButtonBox, Property=Width, Factor=1}"
+ RelativeLayout.HeightConstraint="{ConstraintExpression Type=RelativeToView, ElementName=ButtonBox, Property=Height, Factor=0.126}"
+ Opacity="0"
+ FontSize="26"
+ TextColor="White"
+ LineBreakMode="TailTruncation"
+ HorizontalTextAlignment="Center"
+ Text="{Binding CurrentStateDescription.Label}" />
+ <Button x:Name = "ButtonFocusArea"
+ RelativeLayout.HeightConstraint="{ConstraintExpression Type=RelativeToParent, Property=Height, Factor=1}"
+ RelativeLayout.WidthConstraint="{ConstraintExpression Type=RelativeToParent, Property=Height, Factor=1}"
+ Focused="OnFocused"
+ Unfocused="OnUnfocused"
+ Clicked="OnClicked"
+ Opacity="0" />
+ </RelativeLayout>
+</ViewCell>
-/*\r
- * Copyright (c) 2017 Samsung Electronics Co., Ltd\r
- *\r
- * Licensed under the Flora License, Version 1.1 (the "License");\r
- * you may not use this file except in compliance with the License.\r
- * You may obtain a copy of the License at\r
- *\r
- * http://floralicense.org/license/\r
- *\r
- * Unless required by applicable law or agreed to in writing, software\r
- * distributed under the License is distributed on an "AS IS" BASIS,\r
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
- * See the License for the specific language governing permissions and\r
- * limitations under the License.\r
- */\r
-\r
-using System;\r
-using System.Windows.Input;\r
-using TVHome.Utils;\r
-using Xamarin.Forms;\r
-\r
-namespace TVHome.Controls\r
-{\r
- /// <summary>\r
- /// Custom Control for Button in Main Panel\r
- /// </summary>\r
- public partial class MainPanelButton : ViewCell\r
- {\r
- public BindableProperty OnFocusedCommandProperty = BindableProperty.Create("OnFocusedCommand", typeof(ICommand), typeof(MainPanelButton));\r
-\r
- public ICommand OnFocusedCommand\r
- {\r
- get { return (ICommand)GetValue(OnFocusedCommandProperty); }\r
- set { SetValue(OnFocusedCommandProperty, value); }\r
- }\r
-\r
- public BindableProperty OnClickedCommandProperty = BindableProperty.Create("OnClickedCommand", typeof(ICommand), typeof(MainPanelButton));\r
-\r
- public ICommand OnClickedCommand\r
- {\r
- get { return (ICommand)GetValue(OnClickedCommandProperty); }\r
- set { SetValue(OnClickedCommandProperty, value); }\r
- }\r
-\r
- public MainPanelButton()\r
- {\r
- InitializeComponent();\r
- }\r
-\r
- private async void OnFocused(object sender, FocusEventArgs e)\r
- {\r
- if (OnFocusedCommand != null)\r
- {\r
- OnFocusedCommand.Execute("");\r
- }\r
-\r
- ButtonTitle.FadeTo(0.99, 300);\r
- await View.FadeTo(0.6, 300);\r
- }\r
-\r
- private async void OnUnfocused(object sender, FocusEventArgs e)\r
- {\r
- ButtonTitle.FadeTo(0, 300);\r
- await View.FadeTo(0.3, 300);\r
- }\r
-\r
- private async void OnClicked(object sender, EventArgs e)\r
- {\r
- if (OnClickedCommand != null)\r
- {\r
- OnClickedCommand.Execute("");\r
- }\r
-\r
- await View.FadeTo(0.9, 300);\r
- }\r
- }\r
-}
\ No newline at end of file
+/*
+ * Copyright (c) 2017 Samsung Electronics Co., Ltd
+ *
+ * Licensed under the Flora License, Version 1.1 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://floralicense.org/license/
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+using System;
+using System.Windows.Input;
+using TVHome.Utils;
+using Xamarin.Forms;
+
+namespace TVHome.Controls
+{
+ /// <summary>
+ /// Custom Control for Button in Main Panel
+ /// </summary>
+ public partial class MainPanelButton : ViewCell
+ {
+ public BindableProperty OnFocusedCommandProperty = BindableProperty.Create("OnFocusedCommand", typeof(ICommand), typeof(MainPanelButton));
+
+ public ICommand OnFocusedCommand
+ {
+ get { return (ICommand)GetValue(OnFocusedCommandProperty); }
+ set { SetValue(OnFocusedCommandProperty, value); }
+ }
+
+ public BindableProperty OnClickedCommandProperty = BindableProperty.Create("OnClickedCommand", typeof(ICommand), typeof(MainPanelButton));
+
+ public ICommand OnClickedCommand
+ {
+ get { return (ICommand)GetValue(OnClickedCommandProperty); }
+ set { SetValue(OnClickedCommandProperty, value); }
+ }
+
+ public MainPanelButton()
+ {
+ InitializeComponent();
+ }
+
+ private async void OnFocused(object sender, FocusEventArgs e)
+ {
+ if (OnFocusedCommand != null)
+ {
+ OnFocusedCommand.Execute("");
+ }
+
+ if (ButtonTitle.Text.Equals("Apps"))
+ {
+ ButtonImage.Source = "ic_tizen_home_menu_apps_focused.png";
+ }
+ else if (ButtonTitle.Text.Equals("Recent"))
+ {
+ ButtonImage.Source = "ic_tizen_home_menu_recent_focused.png";
+ }
+ else
+ {
+ ButtonImage.Source = "ic_tizen_home_menu_settings_focused.png";
+ }
+
+ ButtonTitle.FadeTo(0.8, 300);
+ ButtonBgImage.FadeTo(0.99, 300);
+ await View.FadeTo(0.6, 300);
+ }
+
+ private async void OnUnfocused(object sender, FocusEventArgs e)
+ {
+ if (ButtonTitle.Text.Equals("Apps"))
+ {
+ ButtonImage.Source = "ic_tizen_home_menu_apps_normal.png";
+ }
+ else if (ButtonTitle.Text.Equals("Recent"))
+ {
+ ButtonImage.Source = "ic_tizen_home_menu_recent_normal.png";
+ }
+ else
+ {
+ ButtonImage.Source = "ic_tizen_home_menu_settings_normal.png";
+ }
+
+ ButtonTitle.FadeTo(0, 300);
+ ButtonBgImage.FadeTo(0, 300);
+ await View.FadeTo(0.3, 300);
+ }
+
+ private async void OnClicked(object sender, EventArgs e)
+ {
+ if (OnClickedCommand != null)
+ {
+ OnClickedCommand.Execute("");
+ }
+
+ await View.FadeTo(0.9, 300);
+ }
+ }
+}
-/*\r
- * Copyright (c) 2017 Samsung Electronics Co., Ltd\r
- *\r
- * Licensed under the Flora License, Version 1.1 (the "License");\r
- * you may not use this file except in compliance with the License.\r
- * You may obtain a copy of the License at\r
- *\r
- * http://floralicense.org/license/\r
- *\r
- * Unless required by applicable law or agreed to in writing, software\r
- * distributed under the License is distributed on an "AS IS" BASIS,\r
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
- * See the License for the specific language governing permissions and\r
- * limitations under the License.\r
- */\r
-\r
-using System;\r
-using System.Collections;\r
-using System.Collections.Generic;\r
-using System.ComponentModel;\r
-using System.Windows.Input;\r
-using System.Threading.Tasks;\r
-using TVHome.DataModels;\r
-using TVHome.Utils;\r
-using Xamarin.Forms;\r
-\r
-namespace TVHome.ViewModels\r
-{\r
- public class MainPageViewModel : INotifyPropertyChanged\r
- {\r
- public IEnumerable<ShortcutInfo> MainList { get; set; }\r
- public IEnumerable<ShortcutInfo> RecentList { get; set; }\r
- public IEnumerable<ShortcutInfo> AppList { get; set; }\r
- public IEnumerable<ShortcutInfo> SettingsList { get; set; }\r
-\r
- public event PropertyChangedEventHandler PropertyChanged;\r
- protected void OnPropertyChanged(string name)\r
- {\r
- PropertyChangedEventHandler handler = PropertyChanged;\r
- if (handler != null)\r
- {\r
- handler(this, new PropertyChangedEventArgs(name));\r
- }\r
- }\r
-\r
- public MainPageViewModel()\r
- {\r
- string[] AppName = { "Recent", "Apps", "Settings" };\r
- // TODO : Revert this before release\r
- //string[] AppControlID = { "org.tizen.settings", "org.tizen.apps", "org.tizen.settings" };\r
- string[] AppControlID = { "org.tizen.settings", "org.tizen.example.TVApps.TizenTV", "org.tizen.settings" };\r
- string[] AppIconPath = { "recent_normal.png", "app_normal.png", "settings_normal.png" };\r
-\r
- List<ShortcutInfo> TempList = new List<ShortcutInfo>();\r
- for (int i = 0; i < 3; i++)\r
- {\r
- ShortcutInfo shortcutInfo = new HomeMenuAppShortcutInfo()\r
- {\r
- StateDescriptions =\r
- {\r
- {\r
- "default",\r
- new StateDescription\r
- {\r
- Label = AppName[i],\r
- IconPath = AppIconPath[i],\r
- Action = new AppControlAction()\r
- {\r
- AppID = AppControlID[i]\r
- }\r
- }\r
- },\r
- }\r
- };\r
- shortcutInfo.UpdateState();\r
- TempList.Add(shortcutInfo);\r
- }\r
-\r
- MainList = TempList;\r
- OnPropertyChanged("MainList");\r
-\r
- MakeRecentButtons();\r
-\r
- DebuggingUtils.Dbg("Reading Apps list");\r
- AppList = TVHomeImpl.GetInstance.AppShortcutControllerInstance.ReadFromFile();\r
- OnPropertyChanged("AppList");\r
-\r
- //SettingsList = TVHomeImpl.GetInstance.AppShortcutControllerInstnace.ReadFromFile();\r
- SettingsList = TVHomeImpl.GetInstance.SettingShortcutControllerInstance.GetList();\r
- OnPropertyChanged("SettingsList");\r
-\r
- TVHomeImpl.GetInstance.AppShortcutControllerInstance.AddFileSystemChangedListener(TestFunction);\r
- }\r
-\r
-\r
- private void TestFunction(object sender, EventArgs e)\r
- {\r
- AppList = TVHomeImpl.GetInstance.AppShortcutControllerInstance.ReadFromFile();\r
- OnPropertyChanged("AppList");\r
- }\r
-\r
- private async void MakeRecentButtons()\r
- {\r
- RecentList = await TVHomeImpl.GetInstance.RecentShortcutControllerInstance.GetList();\r
- if (RecentList != null)\r
- {\r
- OnPropertyChanged("RecentList");\r
- }\r
- }\r
-\r
- }\r
-}\r
+/*
+ * Copyright (c) 2017 Samsung Electronics Co., Ltd
+ *
+ * Licensed under the Flora License, Version 1.1 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://floralicense.org/license/
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+using System;
+using System.Collections;
+using System.Collections.Generic;
+using System.ComponentModel;
+using System.Windows.Input;
+using System.Threading.Tasks;
+using TVHome.DataModels;
+using TVHome.Utils;
+using Xamarin.Forms;
+
+namespace TVHome.ViewModels
+{
+ public class MainPageViewModel : INotifyPropertyChanged
+ {
+ public IEnumerable<ShortcutInfo> MainList { get; set; }
+ public IEnumerable<ShortcutInfo> RecentList { get; set; }
+ public IEnumerable<ShortcutInfo> AppList { get; set; }
+ public IEnumerable<ShortcutInfo> SettingsList { get; set; }
+
+ public event PropertyChangedEventHandler PropertyChanged;
+ protected void OnPropertyChanged(string name)
+ {
+ PropertyChangedEventHandler handler = PropertyChanged;
+ if (handler != null)
+ {
+ handler(this, new PropertyChangedEventArgs(name));
+ }
+ }
+
+ public MainPageViewModel()
+ {
+ string[] AppName = { "Recent", "Apps", "Settings" };
+ // TODO : Revert this before release
+ //string[] AppControlID = { "org.tizen.settings", "org.tizen.apps", "org.tizen.settings" };
+ string[] AppControlID = { "org.tizen.settings", "org.tizen.example.TVApps.TizenTV", "org.tizen.settings" };
+ string[] AppIconPath = { "ic_tizen_home_menu_recent_normal.png", "ic_tizen_home_menu_apps_normal.png", "ic_tizen_home_menu_settings_normal.png" };
+
+ List<ShortcutInfo> TempList = new List<ShortcutInfo>();
+ for (int i = 0; i < 3; i++)
+ {
+ ShortcutInfo shortcutInfo = new HomeMenuAppShortcutInfo()
+ {
+ StateDescriptions =
+ {
+ {
+ "default",
+ new StateDescription
+ {
+ Label = AppName[i],
+ IconPath = AppIconPath[i],
+ Action = new AppControlAction()
+ {
+ AppID = AppControlID[i]
+ }
+ }
+ },
+ }
+ };
+ shortcutInfo.UpdateState();
+ TempList.Add(shortcutInfo);
+ }
+
+ MainList = TempList;
+ OnPropertyChanged("MainList");
+
+ MakeRecentButtons();
+
+ DebuggingUtils.Dbg("Reading Apps list");
+ AppList = TVHomeImpl.GetInstance.AppShortcutControllerInstance.ReadFromFile();
+ OnPropertyChanged("AppList");
+
+ //SettingsList = TVHomeImpl.GetInstance.AppShortcutControllerInstnace.ReadFromFile();
+ SettingsList = TVHomeImpl.GetInstance.SettingShortcutControllerInstance.GetList();
+ OnPropertyChanged("SettingsList");
+
+ TVHomeImpl.GetInstance.AppShortcutControllerInstance.AddFileSystemChangedListener(TestFunction);
+ }
+
+
+ private void TestFunction(object sender, EventArgs e)
+ {
+ AppList = TVHomeImpl.GetInstance.AppShortcutControllerInstance.ReadFromFile();
+ OnPropertyChanged("AppList");
+ }
+
+ private async void MakeRecentButtons()
+ {
+ RecentList = await TVHomeImpl.GetInstance.RecentShortcutControllerInstance.GetList();
+ if (RecentList != null)
+ {
+ OnPropertyChanged("RecentList");
+ }
+ }
+
+ }
+}
-<?xml version="1.0" encoding="utf-8" ?>\r
-<ContentPage x:Class="TVHome.Views.MainPage"\r
- xmlns="http://xamarin.com/schemas/2014/forms"\r
- xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"\r
- xmlns:Views="clr-namespace:TVHome.Views"\r
- xmlns:ViewModels="clr-namespace:TVHome.ViewModels"\r
- Appearing="OnAppearing">\r
- <ContentPage.BackgroundColor>\r
- <Color>White</Color>\r
- </ContentPage.BackgroundColor>\r
- <ContentPage.BindingContext>\r
- <ViewModels:MainPageViewModel />\r
- </ContentPage.BindingContext>\r
- <ContentPage.Content>\r
- <RelativeLayout>\r
- <Views:MainPanel x:Name="PageMainPanel"\r
- RelativeLayout.HeightConstraint="{ConstraintExpression Type=RelativeToParent, Property=Height, Factor=0.14}"\r
- RelativeLayout.WidthConstraint="{ConstraintExpression Type=RelativeToParent, Property=Width, Factor=0.24}"\r
- RelativeLayout.YConstraint="{ConstraintExpression Type=RelativeToParent, Property=Height, Factor=0.65}"\r
- RelativeLayout.XConstraint="{ConstraintExpression Type=RelativeToParent, Property=Width, Factor=0.38}"\r
- ItemsSource="{Binding MainList}"/>\r
-\r
- <Views:SubPanel x:Name="RecentSubPanel"\r
- RelativeLayout.HeightConstraint="{ConstraintExpression Type=RelativeToParent, Property=Height, Factor=0.18}"\r
- RelativeLayout.WidthConstraint="{ConstraintExpression Type=RelativeToParent, Property=Width, Factor=1}"\r
- RelativeLayout.YConstraint="{ConstraintExpression Type=RelativeToParent, Property=Height, Factor=0.94}"\r
- ItemsSource="{Binding RecentList}" />\r
-\r
- <Views:SubPanel x:Name="AppsSubPanel"\r
- RelativeLayout.HeightConstraint="{ConstraintExpression Type=RelativeToParent, Property=Height, Factor=0.18}"\r
- RelativeLayout.WidthConstraint="{ConstraintExpression Type=RelativeToParent, Property=Width, Factor=1}"\r
- RelativeLayout.YConstraint="{ConstraintExpression Type=RelativeToParent, Property=Height, Factor=0.94}"\r
- ItemsSource="{Binding AppList}" />\r
-\r
- <Views:SubPanel x:Name="SettingsSubPanel"\r
- RelativeLayout.HeightConstraint="{ConstraintExpression Type=RelativeToParent, Property=Height, Factor=0.18}"\r
- RelativeLayout.WidthConstraint="{ConstraintExpression Type=RelativeToParent, Property=Width, Factor=1}"\r
- RelativeLayout.YConstraint="{ConstraintExpression Type=RelativeToParent, Property=Height, Factor=0.94}"\r
- ItemsSource="{Binding SettingsList}" />\r
- </RelativeLayout>\r
- </ContentPage.Content>\r
-</ContentPage>
\ No newline at end of file
+<?xml version="1.0" encoding="utf-8" ?>
+<ContentPage x:Class="TVHome.Views.MainPage"
+ xmlns="http://xamarin.com/schemas/2014/forms"
+ xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
+ xmlns:Views="clr-namespace:TVHome.Views"
+ xmlns:ViewModels="clr-namespace:TVHome.ViewModels"
+ Appearing="OnAppearing"
+ BackgroundImage="background.jpg">
+ <ContentPage.BackgroundColor>
+ <Color>White</Color>
+ </ContentPage.BackgroundColor>
+ <ContentPage.BindingContext>
+ <ViewModels:MainPageViewModel />
+ </ContentPage.BindingContext>
+ <ContentPage.Content>
+ <RelativeLayout>
+ <BoxView x:Name = "Bg"
+ RelativeLayout.HeightConstraint="{ConstraintExpression Type=RelativeToParent, Property=Height, Factor=1}"
+ RelativeLayout.WidthConstraint="{ConstraintExpression Type=RelativeToParent, Property=Width, Factor=1}"
+ RelativeLayout.YConstraint="{ConstraintExpression Type=RelativeToParent, Property=Height, Factor=0}"
+ RelativeLayout.XConstraint="{ConstraintExpression Type=RelativeToParent, Property=Width, Factor=0}"
+ Color="Black"
+ Opacity="0.4"/>
+ <Views:MainPanel x:Name="PageMainPanel"
+ RelativeLayout.HeightConstraint="{ConstraintExpression Type=RelativeToParent, Property=Height, Factor=0.22}"
+ RelativeLayout.WidthConstraint="{ConstraintExpression Type=RelativeToParent, Property=Width, Factor=0.21875}"
+ RelativeLayout.YConstraint="{ConstraintExpression Type=RelativeToParent, Property=Height, Factor=0.6537}"
+ RelativeLayout.XConstraint="{ConstraintExpression Type=RelativeToParent, Property=Width, Factor=0.390625}"
+ ItemsSource="{Binding MainList}"/>
+
+ <Views:SubPanel x:Name="RecentSubPanel"
+ RelativeLayout.HeightConstraint="{ConstraintExpression Type=RelativeToParent, Property=Height, Factor=0.18}"
+ RelativeLayout.WidthConstraint="{ConstraintExpression Type=RelativeToParent, Property=Width, Factor=1}"
+ RelativeLayout.YConstraint="{ConstraintExpression Type=RelativeToParent, Property=Height, Factor=0.94}"
+ ItemsSource="{Binding RecentList}" />
+
+ <Views:SubPanel x:Name="AppsSubPanel"
+ RelativeLayout.HeightConstraint="{ConstraintExpression Type=RelativeToParent, Property=Height, Factor=0.18}"
+ RelativeLayout.WidthConstraint="{ConstraintExpression Type=RelativeToParent, Property=Width, Factor=1}"
+ RelativeLayout.YConstraint="{ConstraintExpression Type=RelativeToParent, Property=Height, Factor=0.94}"
+ ItemsSource="{Binding AppList}" />
+
+ <Views:SubPanel x:Name="SettingsSubPanel"
+ RelativeLayout.HeightConstraint="{ConstraintExpression Type=RelativeToParent, Property=Height, Factor=0.18}"
+ RelativeLayout.WidthConstraint="{ConstraintExpression Type=RelativeToParent, Property=Width, Factor=1}"
+ RelativeLayout.YConstraint="{ConstraintExpression Type=RelativeToParent, Property=Height, Factor=0.94}"
+ ItemsSource="{Binding SettingsList}" />
+ </RelativeLayout>
+ </ContentPage.Content>
+</ContentPage>