xam-consulting / slideoverkit Goto Github PK
View Code? Open in Web Editor NEWEasily Create Awesome Slideover's in Xamarin.Forms
License: Apache License 2.0
Easily Create Awesome Slideover's in Xamarin.Forms
License: Apache License 2.0
I'm trying to use SlideOverKit and add a menu to an existing content page that is defined with xaml.
However, I can't derive the main class as MenuContainerPage because I get the following error:
"Partial declarations of XXX must not specify different base classess"
In all the examples provided, all container pages did not have xaml of their own (only their corresponding menu views).
How can I add a menu to a page that is already defined with xaml?
If you have sliding menu (like QuickInnerMenu in sample) and bottom tabbed menu then on iOS toggle is placed at the bottom of the screen, not at the top of tabbed menu, so it interferes menu. On android everything works perfectly
I now have a button in my action bar to call up the SlideMenuView. I would prefer that when the button is tapped the view is showed. I can do this with the ShowMenuAction. However, when I tap the button again I want to have a HideMenuAction.
Thing is, that there is no way (to my knowledge) to actually know that the view is showed. If I keep my own variable to use the Button as a toggle that I can control the show and hide. However, when the user makes a swipe up to close the menu that way I have no clue whether the view is showed or not.
Would be nice that there is a property on the SlideMenuView (and probably on all other controls as well) that gives a clue about visibility.
I have a working Xamarin.Forms Prism app. As soon as I integrate the SlideOverKit to use the right slide menu it breaks. When you run the app it executes NavigationService.NavigateAsync("MainPage");
but does not actually navigate there.
Mainpage.Xaml.cs
`public partial class MainPage : MenuContainerPage
{
readonly INavigationService _navigationService;
void Handle_Clicked(object sender, System.EventArgs e)
{
_navigationService.NavigateAsync("NewPage");
}
void Menu_Clicked(object sender, System.EventArgs e)
{
this.ShowMenu();
}
public MainPage()
{
InitializeComponent();
this.SlideMenu = new MenuPage();
}
}`
MainPage.Xaml
`
<t:MenuContainerPage xmlns="http://xamarin.com/schemas/2014/forms" xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
xmlns:prism="clr-namespace:Prism.Mvvm;assembly=Prism.Forms" xmlns:t="clr-namespace:SlideOverKit;assembly=SlideOverKit"
prism:ViewModelLocator.AutowireViewModel="True" x:Class="PrismTest.Views.MainPage" Title="MainPage">
<MenuContainerPage.Content>
<StackLayout HorizontalOptions="Center" VerticalOptions="Center">
<Label Text="{Binding Title}" />
<Button Text="Push" Clicked="Handle_Clicked" />
<Button Text="Menu" Clicked="Menu_Clicked" />
</StackLayout>
</MenuContainerPage.Content>
</t:MenuContainerPage>`
Steps to reproduce: Create Xamarin.Forms Prism App from Xamarin Prism Template pack and use the above code.
Hi!
There is related issue: #14
But I can not normal use SlideMenu in child page of TabbedPage cause
1). If I will use it in child page I can see bug with the height of SlideMenu (example on attached image).
Push TabbedPage with MenuContainerPage's as children into navigation stack of usual single MenuContainerPage
Open SlideMenu there (in child page of pushed TabbedPage)
Return to usual single MenuContainerPage and open SlideMenu again for this single page
You will see that the height of SlideMenu now is not fullscreen and same like on child page of pushed TabbedPage (like on attached image)
2). [Related to first problem with the height of SlideMenu] Not so important like first but will be better if it can be resolved. On Android SlideMenu will not be fullscreen for TabbedPage like for single ContentPage and tabbar will be visible and clickable (on iOS all is ok)
IMenuContainerPage can not be normal implemented in tabbed page cause when I will write renderer for Droid I will inherit it from TabbedRenderer and method OnElementChanged will need agruments with TabbedPage generic type. Copy of these arguments to same but with generic type like Page causes NullReferenceExcepton.
It will be realy great if you will say me what am I doing wrong or workaround if this is bug. Any suggestions?
Regards!
Is there any plan to roll a new release soon? The last release was back in 2016 so taking all fixes since via Nuget is not an option. Is the only way to download, build and reference manually? Just seek some direction before I choose a path. Appreciate replies from those who use it as well as those that build it :)
Hi there,
Have any plans to upgrade to the latest Xamarin version? What about using netstandard?
Thanks for the great work with this project.
Run this https://github.com/onovotny/ReferenceGenerator and bump your minor + push to NuGet to fix.
I binded DraggerButtonHeight to viewmodel property
private int _draggerButtonHeight; public int DraggerButtonHeight { get { return _draggerButtonHeight; } set { SetProperty(ref _draggerButtonHeight, value); } }
.
The size I set in constructor remains even after I change value of this property.
How to resize it?
Is any way to make the shadow not clickable?I do not want to make the menu or popover closed while the shadow is clicked.
Trying to use this awesome component to create a right side menu for a user to put a comment regarding the document displayed on main page.
The thing is, when a text input (Entry) gets focused, the keyboard slides up and the whole menu disappears. If a click a toolbar item to display the menu again, it shows up with the input focused.
Is there any way to prevent this (disappearing) from happening?
Hi,
I have downloaded the Latest SlidOverKit Samples and Deployed the same in iOS and Android Platform.
For Your Information:
I have checked the two months older SlidOverKit source and its working fine with Android Platform as well.
Kindly help me to resolve the same.
Screenshot for Reference:
Output Trace:
07-27 16:45:39.582 I/MonoDroid(10866): UNHANDLED EXCEPTION:
07-27 16:45:39.585 I/MonoDroid(10866): System.NullReferenceException: Object reference not set to an instance of an object.
07-27 16:45:39.585 I/MonoDroid(10866): at Xamarin.Forms.Platform.Android.Platform.GetRenderer (Xamarin.Forms.VisualElement bindable) [0x00000] in C:\BuildAgent3\work\aad494dc9bc9783\Xamarin.Forms.Platform.Android\Platform.cs:289
07-27 16:45:39.585 I/MonoDroid(10866): at SlideOverKit.Droid.SlideOverKitDroidHandler.LayoutPopup () [0x0006a] in D:\SlideOverKit-master\SlideOverKit.Droid\SlideOverKitDroidHandler.cs:177
07-27 16:45:39.585 I/MonoDroid(10866): at SlideOverKit.Droid.SlideOverKitDroidHandler.b__14_0 (System.String key) [0x000e8] in D:\SlideOverKit-master\SlideOverKit.Droid\SlideOverKitDroidHandler.cs:141
07-27 16:45:39.585 I/MonoDroid(10866): at SlideOverKit.MenuContainerPage.ShowPopup (System.String name) [0x0000e] in D:\SlideOverKit-master\SlideOverKit\MenuContainerPage.cs:54
07-27 16:45:39.585 I/MonoDroid(10866): at SlideOverKit.MoreSample.PopOverPage.<.ctor>b__0_1 () [0x00026] in D:\SlideOverKit-master\SlideOverKitMoreSamples\SlideOverKit.Sample\Pages\PopOverPage.cs:34
07-27 16:45:39.586 I/MonoDroid(10866): at Xamarin.Forms.Command+<>c__DisplayClass3_0.<.ctor>b__0 (System.Object o) [0x00000] in C:\BuildAgent3\work\aad494dc9bc9783\Xamarin.Forms.Core\Command.cs:36
07-27 16:45:39.586 I/MonoDroid(10866): at Xamarin.Forms.Command.Execute (System.Object parameter) [0x00000] in C:\BuildAgent3\work\aad494dc9bc9783\Xamarin.Forms.Core\Command.cs:70
07-27 16:45:39.586 I/MonoDroid(10866): at Xamarin.Forms.MenuItem.Activate () [0x00010] in C:\BuildAgent3\work\aad494dc9bc9783\Xamarin.Forms.Core\MenuItem.cs:77
07-27 16:45:39.586 I/MonoDroid(10866): at Xamarin.Forms.Platform.Android.GenericMenuClickListener.OnMenuItemClick (IMenuItem item) [0x00000] in C:\BuildAgent3\work\aad494dc9bc9783\Xamarin.Forms.Platform.Android\GenericMenuClickListener.cs:18
07-27 16:45:39.586 I/MonoDroid(10866): at Android.Views.IMenuItemOnMenuItemClickListenerInvoker.n_OnMenuItemClick_Landroid_view_MenuItem_ (IntPtr jnienv, IntPtr native__this, IntPtr native_item) [0x00011] in /Users/builder/data/lanes/3415/7db2aac3/source/monodroid/src/Mono.Android/platforms/android-23/src/generated/Android.Views.IMenuItem.cs:295
07-27 16:45:39.586 I/MonoDroid(10866): at (wrapper dynamic-method) System.Object:88931f3b-e273-4be4-8d0f-1c32b323d7cc (intptr,intptr,intptr)
07-27 16:45:39.601 W/art (10866): JNI RegisterNativeMethods: attempt to register 0 native methods for android.runtime.JavaProxyThrowable
07-27 16:45:39.607 D/Mono (10866): DllImport searching in: '__Internal' ('(null)').
07-27 16:45:39.607 D/Mono (10866): Searching for 'java_interop_jnienv_throw'.
07-27 16:45:39.607 D/Mono (10866): Probing 'java_interop_jnienv_throw'.
07-27 16:45:39.607 D/Mono (10866): Found as 'java_interop_jnienv_throw'.
The thread 'Unknown' (0x5) has exited with code 0 (0x0).
The thread 'Unknown' (0x3) has exited with code 0 (0x0).
An unhandled exception occured.
Configuration Details:
In my MainPage
i'm implementing IMenuContainerPage
as shown in SlideDownMenuSample.cs
.
public Action HideMenuAction { get; set; }
public Action ShowMenuAction { get; set; }
public SlideMenuView SlideMenu { get; set; }
I have a default value for HeightRequest
in the constructor of my custom SlideMenuView
. But i want to update this value once the app is loaded an I can get actual layout values from my page. So i tried moving the initialization of SlideMenu
to the OnAppearing
method of the MainPage. This causes a NullReferenceException
in the ViewDidAppear
method in PageImpInterfaceRendereriOS
. On Android the app does not crash, but executing ShowMenuAction
does not show anything.
This is the stacktrace:
at SlideOverKit.iOS.SlideOverKitiOSHandler.ViewDidAppear (System.Boolean animated) [0x0001b] in C:\\Users\\Michael\\Documents\\SlideOverKit\\SlideOverKit.iOS\\SlideOverKitiOSHandler.cs:293 \n at TestProject.iOS.Renderer.PageImpInterfaceRendereriOS.ViewDidAppear (System.Boolean animated) [0x00016] in /Users/test/testproject/iOS/Renderer/PageImpInterfaceRendereiOS.cs:50 \n at (wrapper managed-to-native) ObjCRuntime.Messaging:void_objc_msgSendSuper_bool (intptr,intptr,bool)\n at UIKit.UIViewController.ViewDidAppear (System.Boolean animated) [0x0002b] in /Users/builder/data/lanes/4991/80b8487d/source/xamarin-macios/src/build/ios/native/UIKit/UIViewController.g.cs:1191 \n at Xamarin.Forms.Platform.iOS.NavigationRenderer.ViewDidAppear (System.Boolean animated) [0x00020] in C:\\BuildAgent3\\work\\ca3766cfc22354a1\\Xamarin.Forms.Platform.iOS\\Renderers\\NavigationRenderer.cs:132 \n at (wrapper managed-to-native) UIKit.UIApplication:UIApplicationMain (int,string[],intptr,intptr)\n at UIKit.UIApplication.Main (System.String[] args, System.IntPtr principal, System.IntPtr delegate) [0x00005] in /Users/builder/data/lanes/4991/80b8487d/source/xamarin-macios/src/UIKit/UIApplication.cs:79 \n at UIKit.UIApplication.Main (System.String[] args, System.String principalClassName, System.String delegateClassName) [0x00038] in /Users/builder/data/lanes/4991/80b8487d/source/xamarin-macios/src/UIKit/UIApplication.cs:63 \n at TestProject.iOS.Application.Main (System.String[] args) [0x00001] in /Users/test/testproject/iOS/Main.cs:17
Does anybody have a similar problem or a solution to this?
Thanks
I am unable to set the drawer to hover above the toolbar in android. But in ios it is displaying correctly, i.e. above the toolbar.
Hi, great component! Thanks for open sourcing it.
Your samples show a SlideMenuView with image/label combinations that would present buttons in real life. I added a gesture recogniser on the StackLayouts to catch a command. Although this works perfectly I would need a way to close the SlideMenuView afterwards.... Any suggestion on doing this. I now have a command that binds with my view model + a tapped event handler for all these panels that do a HideWithoutAnimations(). Is this the way to do it?
Btw: I using this on Android (AppCompat).
Hello, I'm trying to incorporate SlideOverKit in a Xamarin.Forms and the gestures doesn't seems to be working. The SlideMenuView doesn't catch the focus at all.
Here is a test project.
https://github.com/lyuboasenov/test-slide-over-kit.git
I've copied the files from your sample application.
Hi,
I'm just trying to get my App running on UWP. Unfortunately My Page stays blank when I inherit it from MenuContainerPage. It works in Android but not on UWP.
Any Idea?
Best
Thomas
first thanks for amazing plugin for me it was very helpful
second i want ask about thing and wish you help me
i used quick menu from bottom view and when i select row from it it will show another view have another quick menu from bottom
i need it to be opened before sliding then start slide down +up
please how can makequick menu from bottom
on first render open then start use slide functionalty?
Hi Michael,
I just wonder if it would be possible to change SlideOverKit so that Pages wold not have to Inherit from SlideOverPage but only from an ISlideOverPage which would be an empty interface that would allow you to use extension methods on this interface type.
What do you think about that?
Best
Thomas
I want to have a different SlideMenu depending on which ToolBarItem is tapped.
Looking at the code for MenuContainerPage, the following code looks like it should work:
public partial class LocationListPage : MenuContainerPage
{
#region Constructors
public LocationListPage ()
{
InitializeComponent ();
}
#endregion Constructors
protected override void OnAppearing ()
{
base.OnAppearing ();
MessagingCenter.Subscribe<LocationListPageModel> (this, MessagingConstants.LocationsSortMenuShow, (sender) => {
this.SlideMenu = new LocationsSortMenuView ();
ShowMenu ();
});
}
protected override void OnDisappearing ()
{
base.OnDisappearing ();
MessagingCenter.Unsubscribe<LocationListPageModel> (this, MessagingConstants.MenuShow);
}
}
However, the menu does not show. It only works if I set this.SlideMenu in the constructor.
Any solution to this, and/or suggestions?
the right side menu is not shown as complete height of the screen for android mobiles. The side menu height start from below the navigation bar to the lower end. This is only happening in Android mobiles and not in iOS. I am using the SlideMenuView. I cannot use SlidePopuview as Slidemenu is completely used. Can you please help me? The reason I cannot use popup is just because it is popping up instead of sliding
I have added the MenuContainerPage on which we are using the Entry but when entry got the focus keyboard hide the entry in iOS. I also tried using the Xam.Plugins.Forms.KeyboardOverlap plugin, it only works when Page is inherited from ContentPage. So could you please help me to resolve the issue.
Hi,
I am trying to incorporate this to my share project but once I am implementing/extending IMenuContainerPage or MenuContainerPage, it cant be resolve. The type or namespace could not be found. Can you confirm that this supports Shared Project?
Thanks
Hi,
With reference to this statement "If your page need to inherit from other base pages in your solution, you must implement IMenuContainerPage interface and you need to create the renderer pages for each platforms. It won't too hard, just copy codes from sample, you can follow the SlideDownMenuPage page in sample code to do this."
I am trying to use a TabbedPage Control and then show this drop down menu from the top. I have followed this stop in a form where the page inherits from a ContentPage and it works fine.
works fine
public partial class DropDownPage : ContentPage , IMenuContainerPage
But when using the same technique to inherit it from a TabbedPage the pages are all merged and the tabs are not displayed individually.
does not work
public partial class MainPage : TabbedPage , IMenuContainerPage
Is there any solution to fix this problem when inheriting from a TabbedPage Control. Kindly help me out since it is important to achieve this functionality.
Thanks,
Rajesh.
I need a custom navigation bar in my app, so I'm trying to find a suitable way to use this component with SetHasNavigationBar = false (but with a custom view along the top). Is there a way to push the detail page when using a full height master page (like http://www.jasny.net/bootstrap/examples/navmenu-push/)? In the sample, the RightToLeft menu appears over the detail page, so if you have a hamburger button at the top of the detail page it would get covered. In lieu of pushing the page, is there a way to specify an offset at the top so that menu master won't cover my custom nav bar? I've tried TopMargin, but it doesn't appear to hook into these menu orientations. Thanks for any help.
I'm using a tap gesture recogniser to handle the tap on a label in my menu.
How can I bind this to the command on the current page's ViewModel?
I've tried using a reference to the (named) Page as below
<Label.GestureRecognizers>
<TapGestureRecognizer
Command ="{Binding AboutCommand, Source={x:Reference Page}"
NumberOfTapsRequired="1" />
</Label.GestureRecognizers>
but this gives an exception "Can't resolve name on Element..." - presumably because the SlideMenuView doesn't know about its 'parent' page.
Is there an elegant way to achieve this?
I am attempting to use the RightToLeft orientation. The issue here is if I have controls that are being cut off and I was wanting to add a scrollview into the XAML. The problem is that the scrollview for this type of menu does not work. Are there any suggestions on what to do or how to accomplish this?
In the sample provided for the QuickInnerMenuView,
the images which is used to open the quick inner menu is static and i want to to show a different image when SlideMenuView.IsShown is true and back to what is was when it is false.
I have tried to do this on MenuContainerPage.HideMenuAction and MenuContainerPage.ShowMenuAction, but when i change the values, it results in the menu not opening at all.
I was reading a comment on ...
#2
where someone said it didnt work when he called it in the constructor. If that really is the case where should I be setting the Actions for MenuContainerPage.HideMenuAction and MenuContainerPage.ShowMenuAction?
Hi!
I wanto to khnow if there any way to atach gesture animation ( Like Forms Master Details does) to show the Slider,.
Actually the only way i can show its with a button command.
Regards!
Can I open a LeftSide menu ?
Is it possible to open the rights side master menu from a ViewModel? The example all show opening it from the code-behind. If it's possible, can you show an example? Not sure if it matters but I'm using Prism and so my ViewModel has to inherit from BasePageModel.
I'm getting this error when I show my menu with the code:
protected override void OnAppearing()
{
base.OnAppearing();
MessagingCenter.Subscribe<EvacuationPageModel>(this, MessagingConstants.MusterMenuShow, (sender) => {
ShowMenu();
});
}
The error details are:
System.ObjectDisposedException: Cannot access a disposed object.
Object name: 'SlideOverKit.Droid.SlideMenuDroidRenderer'.
at Java.Interop.JniPeerMembers.AssertSelf (IJavaPeerable self) [0x00030] in /Users/builder/data/lanes/3540/1cf254db/source/Java.Interop/src/Java.Interop/Java.Interop/JniPeerMembers.cs:153
at Java.Interop.JniPeerMembers+JniInstanceMethods.InvokeVirtualObjectMethod (System.String encodedMember, IJavaPeerable self, Java.Interop.JniArgumentValue* parameters) [0x00002] in /Users/builder/data/lanes/3540/1cf254db/source/Java.Interop/src/Java.Interop/Java.Interop/JniPeerMembers.JniInstanceMethods_Invoke.cs:345
at Android.Views.View.Animate () [0x00000] in /Users/builder/data/lanes/3540/1cf254db/source/monodroid/src/Mono.Android/platforms/android-23/src/generated/Android.Views.View.cs:10701
at SlideOverKit.Droid.SlideOverKitDroidHandler+<>c__DisplayClass13_0.b__1 () [0x0001f] in C:\Users\Michael\Documents\SlideOverKit\SlideOverKit.Droid\SlideOverKitDroidHandler.cs:79
at SlideOverKit.MenuContainerPage.ShowMenu () [0x00008] in C:\Users\Michael\Documents\SlideOverKit\SlideOverKit\MenuContainerPage.cs:42
at Musterd.UI.Pages.EvacuationPage.m__0 (Musterd.UI.PageModels.EvacuationPageModel sender) [0x00002] in /Users/jameslavery/Documents/P4/THI/Musterd/src/dev_JGL/Musterd/UI/Pages/EvacuationPage.xaml.cs:25
at Xamarin.Forms.MessagingCenter+<>c__DisplayClass4_0`1[TSender].b__0 (System.Object sender, System.Object args) [0x00027] in C:\BuildAgent2\work\aad494dc9bc9783\Xamarin.Forms.Core\MessagingCenter.cs:54
at Xamarin.Forms.MessagingCenter.InnerSend (System.String message, System.Type senderType, System.Type argType, System.Object sender, System.Object args) [0x00069] in C:\BuildAgent2\work\aad494dc9bc9783\Xamarin.Forms.Core\MessagingCenter.cs:95
at Xamarin.Forms.MessagingCenter.Send[TSender] (Xamarin.Forms.TSender sender, System.String message) [0x00013] in C:\BuildAgent2\work\aad494dc9bc9783\Xamarin.Forms.Core\MessagingCenter.cs:23
at Musterd.UI.PageModels.EvacuationPageModel.ShowMusterMenu () [0x00007] in /Users/jameslavery/Documents/P4/THI/Musterd/src/dev_JGL/Musterd/UI/PageModels/EvacuationPageModel.cs:311
at Musterd.UI.PageModels.EvacuationPageModel.<get_MusterMenuCommand>m__6 () [0x00001] in /Users/jameslavery/Documents/P4/THI/Musterd/src/dev_JGL/Musterd/UI/PageModels/EvacuationPageModel.cs:276
at Xamarin.Forms.Command+<>c__DisplayClass3_0.<.ctor>b__0 (System.Object o) [0x00000] in C:\BuildAgent2\work\aad494dc9bc9783\Xamarin.Forms.Core\Command.cs:36
at Xamarin.Forms.Command.Execute (System.Object parameter) [0x00000] in C:\BuildAgent2\work\aad494dc9bc9783\Xamarin.Forms.Core\Command.cs:70
at Xamarin.Forms.MenuItem.Xamarin.Forms.IMenuItemController.Activate () [0x00010] in C:\BuildAgent2\work\aad494dc9bc9783\Xamarin.Forms.Core\MenuItem.cs:93
at Xamarin.Forms.Platform.Android.GenericMenuClickListener.OnMenuItemClick (IMenuItem item) [0x00000] in C:\BuildAgent2\work\aad494dc9bc9783\Xamarin.Forms.Platform.Android\GenericMenuClickListener.cs:18
at Android.Views.IMenuItemOnMenuItemClickListenerInvoker.n_OnMenuItemClick_Landroid_view_MenuItem_ (IntPtr jnienv, IntPtr native__this, IntPtr native_item) [0x00011] in /Users/builder/data/lanes/3540/1cf254db/source/monodroid/src/Mono.Android/platforms/android-23/src/generated/Android.Views.IMenuItem.cs:295
at at (wrapper dynamic-method) System.Object:ff93d8b2-826e-4fd0-a685-44820fe9a4de (intptr,intptr,intptr)
Looks like the renderer is being disposed Well, that's obvious from the error message!
One thing which might be relevant is that I'm using RemoveFromNavigation to clear down the navigation stack.
Any thoughts on how I can fix this?
Currently, when we are displaying the RTL menu, the menu is rendered on the right side of the main page i.e. content which are on the left side of the main page (i.e. the MenuContainerPage) are displayed and the one on the right side of the page are hidden under the Menu. Can you please let me know if there is any way we can render the menu on the right side of the page and have the right content of the MenuContainerPage visible?
I have attached screenshots of how I want the menu to be displayed.
Waiting to get for your response.
Hi,
this might sound strange, but on two iPhone 6 of testers of my App the menu is not displayed when called ShowMenu.
Have you tested on iPhone 6
Best
Thomas
I am using Xamarin.forms with SlideOverKit(https://github.com/XAM-Consulting/SlideOverKit) . SlideOverKit uses static values for HeightRequest &
WidthRequest for slide menu. I want to dynamically set the height as per menu content, for this I am making use of custom renderer of library & overriding the
OnMeasure() for Android.
I am suppose to get child views height by measuring them as per below code but it always return me the parent/screen height. I tried
differnet combinations of MeasureSpec mode & size but unable to get exact height of child elements.
SlideMenuDroidRenderer.cs inside SlideOverKit.Droid project:-
protected override void OnMeasure(int widthMeasureSpec, int heightMeasureSpec)
{
int mWidth = 0, mHt = 0;
int childWidthMeasureSpec = MeasureSpec.MakeMeasureSpec(MarginLayoutParams.WrapContent, MeasureSpecMode.Exactly);
int childHeightMeasureSpec = MeasureSpec.MakeMeasureSpec(MarginLayoutParams.WrapContent, MeasureSpecMode.Exactly);
for (int i = 0; i < ChildCount; i++)
{
Android.Views.View child = GetChildAt(i);
if (child.Visibility != ViewStates.Gone)
{
child.Measure(childWidthMeasureSpec, childHeightMeasureSpec);
mWidth += child.MeasuredWidth;
mHt += child.MeasuredHeight;
}
}
SetMeasuredDimension(width, height);
}
After it calls OnLayout(), I use MeasuredHeight & MeasuredWidth to set the slidemenu height & width.
If anyone knows how to get exact size of menu view in custom renderer of Xamarin.Forms ?
TIA.
I created a Control Template in my PCL App.xaml and App.xaml.cs to create a custom header for my application. I was just messing around to see if I could add a universal slide menu by having App.xaml.cs implement IMenuContainerPage. I set it all up, but the ShowMenuAction?.Invoke() targets null when I use it in the App class. Is this because its not actually a Page? or is there a way I could actually invoke the ShowMenuAction and HideMenuAction directly from the App class?
`using System;
using Xamarin.Forms;
using static EngApp.MainActivityPage;
using SlideOverKit;
namespace EngApp
{
public partial class App : Application, IMenuContainerPage
{
public Action HideMenuAction
{
get;
set;
}
public Action ShowMenuAction
{
get;
set;
}
public SlideMenuView SlideMenu
{
get;
set;
}
public SlideRightFilterView filterMenu;
public NavigationPage NavPage { get; private set; }
public App()
{
InitializeComponent();
MainPage = new DeviceFinder();
this.SlideMenu = new SlideRightFilterView();
}
protected override void OnStart()
{
// Handle when your app starts
}
protected override void OnSleep()
{
// Handle when your app sleeps
}
protected override void OnResume()
{
// Handle when your app resumes
}
void OpenFilter(object sender, EventArgs args)
{
if (this.SlideMenu.IsShown)
{
HideMenuAction?.Invoke();
}
else
{
ShowMenuAction?.Invoke();
}
}
}
}`
XAML CONTROL TEMPLATE
`
<Application.Resources >
<!-- Application resource dictionary -->
<ResourceDictionary >
<ControlTemplate x:Key="MainPageTemplate" >
<Grid VerticalOptions="FillAndExpand" HorizontalOptions="FillAndExpand" ColumnSpacing="0">
<Grid.RowDefinitions>
<RowDefinition Height="50"/>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<Grid.ColumnDefinitions>
<ColumnDefinition Width=".3*"/>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="1.5*"/>
<ColumnDefinition Width=".4*"/>
<ColumnDefinition Width=".4*"/>
</Grid.ColumnDefinitions>
<Image x:Name="arrow" Source="arrow.png" Aspect="AspectFit" BackgroundColor="Transparent" Grid.Column="0" Grid.Row="0" Grid.ColumnSpan="1" Margin="12,17,0,17" HorizontalOptions="StartAndExpand">
<Image.GestureRecognizers>
<TapGestureRecognizer Tapped="OpenMenu"/>
</Image.GestureRecognizers>
</Image>
<Image Source="eaton_corporation_logo.png" Aspect="AspectFit" BackgroundColor="Transparent" Grid.Column="1" Grid.Row="0" Grid.ColumnSpan="1" HorizontalOptions="StartAndExpand">
<Image.GestureRecognizers>
<TapGestureRecognizer Tapped="OpenMenu"/>
</Image.GestureRecognizers>
</Image>
<StackLayout Grid.Column="3" Grid.Row="0" Padding="10, 0, 10, 0" >
<Picker x:Name="ChannelPicker" SelectedIndexChanged="SelectedChannel" TextColor="DarkGray" SelectedIndex="0">
<Picker.Items>
<x:String>Channel 11</x:String>
<x:String>Channel 12</x:String>
<x:String>Channel 13</x:String>
<x:String>Channel 14</x:String>
<x:String>Channel 15</x:String>
<x:String>Channel 16</x:String>
<x:String>Channel 17</x:String>
<x:String>Channel 18</x:String>
<x:String>Channel 19</x:String>
<x:String>Channel 20</x:String>
<x:String>Channel 21</x:String>
<x:String>Channel 22</x:String>
<x:String>Channel 23</x:String>
<x:String>Channel 24</x:String>
<x:String>Channel 25</x:String>
<x:String>Cahnnel 26</x:String>
</Picker.Items>
</Picker>
</StackLayout>
<Image Source="freezedark.png" Grid.Column="4" Grid.Row="0" HorizontalOptions="EndAndExpand" Margin="0,10,4,10">
<Image.GestureRecognizers>
<TapGestureRecognizer Tapped="Freeze"/>
</Image.GestureRecognizers>
</Image>
<Image Source="filter.png" Grid.Column="5" Grid.Row="0" HorizontalOptions="EndAndExpand" Margin="5,12,5,12">
<Image.GestureRecognizers>
<TapGestureRecognizer Tapped="OpenFilter"/>
</Image.GestureRecognizers>
</Image>
<ContentPresenter x:Name ="notToolBar" VerticalOptions="FillAndExpand" HorizontalOptions="FillAndExpand" Grid.Column="0" Grid.Row="1" Grid.ColumnSpan="6"/>
</Grid>
</ControlTemplate>
</ResourceDictionary>
</Application.Resources>
`
I have a slidemenu with BottomToTop
orientation that contains a ListView
. How can I make the menu as high as the list? The amount of items in the list can be 1 to 5.
I am trying to use SlideOverKit inside one of my projects. Everything works fine on iOS and Android, however the menu does not seem to display on UWP. There seems to be a problem in the UWP helper code.
I have managed to make the menu show up by adding the following code inside the SlideOverKitUWPHandler -> LayoutMenu() -> _dragGesture.RequestLayout lambda handler, after _popMenuOverlayRenderer.UpdateLayout()
:
if (!_mainCanvas.Children.Contains(_popMenuOverlayRenderer))
{
_mainCanvas.Children.Add(_popMenuOverlayRenderer);
}
However, while this does seem to work as expected, I don't think it's the right approach to fix this. I have looked through the UWP code but unfortunately I did not have the time to go through all of it and understand everything that is in there.
The background overlay renders fine. The menu itself does not.
Please let me know what additional information I could provide in order to aid with fixing this issue.
Thank you.
Hello,
is it possible to have two slideovers working on single page? I'd like to use one for navigation drawer (drawn from left or right) and on one of my pages I need also slideover drawn from top as secondary menu.
But the events to control slideover are on page level so this can be a problem. Is there a way?
Please help with the menu direct. It is not working when I am setting the orientation for the menu.
One of my apps crashed with the following stack trace which I suppose is caused by a bug in the SlideOverKit renderer on Android:
Xamarin caused by: android.runtime.JavaProxyThrowable: System.ObjectDisposedException: Cannot access a disposed object.
Object name: 'SlideOverKit.Droid.MenuContainerPageDroidRenderer'.
at Java.Interop.JniPeerMembers.AssertSelf (IJavaPeerable self) <0xae7123d8 + 0x000a4> in <filename unknown>:0
at Java.Interop.JniPeerMembers+JniInstanceMethods.InvokeVirtualVoidMethod (System.String encodedMember, IJavaPeerable self, Java.Interop.JniArgumentValue* parameters) <0xae712200 + 0x00023> in <filename unknown>:0
at Android.Views.ViewGroup.RemoveView (Android.Views.View view) <0x96328f90 + 0x0014b> in <filename unknown>:0
at SlideOverKit.Droid.SlideOverKitDroidHandler.HideBackgroundOverlay () <0x96f5f3d0 + 0x0002f> in <filename unknown>:0
at SlideOverKit.Droid.SlideOverKitDroidHandler.<AddMenu>b__13_2 (Boolean open, Double alpha) <0x96f5f330 + 0x0004b> in <filename unknown>:0
at SlideOverKit.Droid.AnimatorListener.OnAnimationEnd (Android.Animation.Animator animation) <0x96331ee0 + 0x000bf> in <filename unknown>:0
at Android.Animation.Animator+IAnimatorListenerInvoker.n_OnAnimationEnd_Landroid_animation_Animator_ (IntPtr jnienv, IntPtr native__this, IntPtr native_animation) <0x9632f770 + 0x00063> in <filename unknown>:0
at (wrapper dynamic-method) System.Object:a48f1c7d-b4fd-45ed-9e0b-87f33ad2714a (intptr,intptr,intptr)
at md56e02c46cd6f48bbbdd10f5c711319921.AnimatorListener.n_onAnimationEnd(Native Method)
at md56e02c46cd6f48bbbdd10f5c711319921.AnimatorListener.onAnimationEnd(AnimatorListener.java:41)
at android.view.ViewPropertyAnimator$AnimatorEventListener.onAnimationEnd(ViewPropertyAnimator.java:1116)
at android.animation.ValueAnimator.endAnimation(ValueAnimator.java:1089)
at android.animation.ValueAnimator$AnimationHandler.doAnimationFrame(ValueAnimator.java:666)
at android.animation.ValueAnimator$AnimationHandler.run(ValueAnimator.java:682)
at android.view.Choreographer$CallbackRecord.run(Choreographer.java:792)
at android.view.Choreographer.doCallbacks(Choreographer.java:596)
at android.view.Choreographer.doFrame(Choreographer.java:556)
at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:778)
at android.os.Handler.handleCallback(Handler.java:739)
at android.os.Handler.dispatchMessage(Handler.java:95)
at android.os.Looper.loop(Looper.java:155)
at android.app.ActivityThread.main(ActivityThread.java:5696)
at java.lang.reflect.Method.invoke(Native Method)
at java.lang.reflect.Method.invoke(Method.java:372)
at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1028)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:823)
We are getting a "cannot access a disposed object" when we click on logout from our menu.
I think I understand what is going on, just don't know how to fix it. I believe the issue is that we throw everything away on logout, and when the animation is finished the page the menu on has been disposed (or something has been disposed) And so the menu crashes trying to clean up after itself. Since there is no event when the menu animation is finished I don't see a way to solve the problem. I am calling HideWithoutAnimation, but that doesn't seem to help.
When a menu item is clicked:
HideWithoutAnimations();
MessagingCenter.Send<SlideMenu, string>(this, "MenuClicked", element.AutomationId);
On the receiving end:
MessagingCenter.Subscribe<SlideMenu, string>(this, "MenuClicked", async (sender, menuItem) => await MenuCommand(menuItem));
Inside MenuCommand we have a switch statement, and if it is logout we do:
Device.BeginInvokeOnMainThread(() => Logout());
Which essentially does a:
Current.MainPage = CreateNavigationPage(ViewFactory.CreatePage<LoginViewModel, Page>());
Here is the stack trace:
Java.Interop.JniPeerMembers.AssertSelf(IJavaPeerable self)<5d0da439400e4472845b738cfbb5a09c>:0
Java.Interop.JniPeerMembers.JniInstanceMethods.InvokeVirtualVoidMethod(string encodedMember, IJavaPeerable self, JniArgumentValue* parameters)<5d0da439400e4472845b738cfbb5a09c>:0
Android.Views.ViewGroup.RemoveView(View view)<4db2d40884194fdc8feb0df3089cee16>:0
SlideOverKit.Droid.SlideOverKitDroidHandler.HideBackgroundOverlay()<58d98593f21642a99e5143274fc6b0bd>:0
SlideOverKit.Droid.SlideOverKitDroidHandler.b__13_2(bool open, double alpha)<58d98593f21642a99e5143274fc6b0bd>:0
SlideOverKit.Droid.AnimatorListener.OnAnimationEnd(Animator animation)<58d98593f21642a99e5143274fc6b0bd>:0
Android.Animation.Animator.IAnimatorListenerInvoker.n_OnAnimationEnd_Landroid_animation_Animator_(IntPtr jnienv, IntPtr native__this, IntPtr native_animation)<4db2d40884194fdc8feb0df3089cee16>:0
at (wrapper dynamic-method) System.Object:a087bcd5-dc54-40a5-a44d-5c5b42e1c54b (intptr,intptr,intptr)
I have a MenuContainer page with a hamburger menu on the left, and an account menu on the right... When a button is clicked I set the page SlideMenu to the appropriate SlideOverView (leftMenu, rightMenu). and then call ShowMenu(). But nothing happens.
If I set the SlideMenu to leftMenu in the constructor, I always see that menu. and Vice versa. How can I get the slideMenu to change from right to left and back again depending on what the user selects?
Not sure if this is just as intended, but perhaps a catch might be useful.
Including an empty ListView in your 'SlideMenuView' xaml, gives an error, when you are (in my case) using a custom renderer due to using IMenuContainerPage
public partial class JourneyView : ContentPage, IMenuContainerPage
<StackLayout Orientation="Horizontal" BackgroundColor="White" HeightRequest="-1" WidthRequest="-1"> <Label Text="Past Month: 3 Disruptions" FontSize="Medium" FontAttributes="Bold" TextColor="#512DA8"></Label> <ListView></ListView> </StackLayout>
Removing the ListView fixes the problem, though I have not checked to see what effect actually providing an itemsource will have. Hopefully it is not the whole listview element.
06-05 12:01:23.101 I/MonoDroid(11205): UNHANDLED EXCEPTION:
06-05 12:01:23.171 I/MonoDroid(11205): System.NullReferenceException: Object reference not set to an instance of an object.
06-05 12:01:23.171 I/MonoDroid(11205): at Xamarin.Forms.Platform.Android.ListViewAdapter..ctor (Android.Content.Context context, Android.Widget.ListView realListView, Xamarin.Forms.ListView listView) [0x00096] in C:\BuildAgent3\work\ca3766cfc22354a1\Xamarin.Forms.Platform.Android\Renderers\ListViewAdapter.cs:56
06-05 12:01:23.171 I/MonoDroid(11205): at Xamarin.Forms.Platform.Android.ListViewRenderer.OnElementChanged (Xamarin.Forms.Platform.Android.ElementChangedEventArgs1[TElement] e) [0x00100] in C:\BuildAgent3\work\ca3766cfc22354a1\Xamarin.Forms.Platform.Android\Renderers\ListViewRenderer.cs:142 06-05 12:01:23.171 I/MonoDroid(11205): at Xamarin.Forms.Platform.Android.VisualElementRenderer
1[TElement].SetElement (TElement element) [0x000f4] in C:\BuildAgent3\work\ca3766cfc22354a1\Xamarin.Forms.Platform.Android\VisualElementRenderer.cs:196
06-05 12:01:23.171 I/MonoDroid(11205): at Xamarin.Forms.Platform.Android.VisualElementRenderer1[TElement].Xamarin.Forms.Platform.Android.IVisualElementRenderer.SetElement (Xamarin.Forms.VisualElement element) [0x00027] in C:\BuildAgent3\work\ca3766cfc22354a1\Xamarin.Forms.Platform.Android\VisualElementRenderer.cs:137 06-05 12:01:23.171 I/MonoDroid(11205): at Xamarin.Forms.Platform.Android.Platform.CreateRenderer (Xamarin.Forms.VisualElement element) [0x0001f] in C:\BuildAgent3\work\ca3766cfc22354a1\Xamarin.Forms.Platform.Android\Platform.cs:289 06-05 12:01:23.171 I/MonoDroid(11205): at Xamarin.Forms.Platform.Android.VisualElementPackager.AddChild (Xamarin.Forms.VisualElement view, Xamarin.Forms.Platform.Android.IVisualElementRenderer oldRenderer, Xamarin.Forms.Platform.Android.RendererPool pool, System.Boolean sameChildren) [0x00023] in C:\BuildAgent3\work\ca3766cfc22354a1\Xamarin.Forms.Platform.Android\VisualElementPackager.cs:84 06-05 12:01:23.171 I/MonoDroid(11205): at Xamarin.Forms.Platform.Android.VisualElementPackager.SetElement (Xamarin.Forms.VisualElement oldElement, Xamarin.Forms.VisualElement newElement) [0x00104] in C:\BuildAgent3\work\ca3766cfc22354a1\Xamarin.Forms.Platform.Android\VisualElementPackager.cs:217 06-05 12:01:23.171 I/MonoDroid(11205): at Xamarin.Forms.Platform.Android.VisualElementPackager.Load () [0x00000] in C:\BuildAgent3\work\ca3766cfc22354a1\Xamarin.Forms.Platform.Android\VisualElementPackager.cs:68 06-05 12:01:23.171 I/MonoDroid(11205): at Xamarin.Forms.Platform.Android.VisualElementRenderer
1[TElement].SetPackager (Xamarin.Forms.Platform.Android.VisualElementPackager packager) [0x00007] in C:\BuildAgent3\work\ca3766cfc22354a1\Xamarin.Forms.Platform.Android\VisualElementRenderer.cs:335
06-05 12:01:23.171 I/MonoDroid(11205): at Xamarin.Forms.Platform.Android.VisualElementRenderer1[TElement].SetElement (TElement element) [0x00111] in C:\BuildAgent3\work\ca3766cfc22354a1\Xamarin.Forms.Platform.Android\VisualElementRenderer.cs:199 06-05 12:01:23.171 I/MonoDroid(11205): at Xamarin.Forms.Platform.Android.VisualElementRenderer
1[TElement].Xamarin.Forms.Platform.Android.IVisualElementRenderer.SetElement (Xamarin.Forms.VisualElement element) [0x00027] in C:\BuildAgent3\work\ca3766cfc22354a1\Xamarin.Forms.Platform.Android\VisualElementRenderer.cs:137
06-05 12:01:23.171 I/MonoDroid(11205): at Xamarin.Forms.Platform.Android.Platform.CreateRenderer (Xamarin.Forms.VisualElement element) [0x0001f] in C:\BuildAgent3\work\ca3766cfc22354a1\Xamarin.Forms.Platform.Android\Platform.cs:289
06-05 12:01:23.171 I/MonoDroid(11205): at Xamarin.Forms.Platform.Android.VisualElementPackager.AddChild (Xamarin.Forms.VisualElement view, Xamarin.Forms.Platform.Android.IVisualElementRenderer oldRenderer, Xamarin.Forms.Platform.Android.RendererPool pool, System.Boolean sameChildren) [0x00023] in C:\BuildAgent3\work\ca3766cfc22354a1\Xamarin.Forms.Platform.Android\VisualElementPackager.cs:84
06-05 12:01:23.171 I/MonoDroid(11205): at Xamarin.Forms.Platform.Android.VisualElementPackager.SetElement (Xamarin.Forms.VisualElement oldElement, Xamarin.Forms.VisualElement newElement) [0x00104] in C:\BuildAgent3\work\ca3766cfc22354a1\Xamarin.Forms.Platform.Android\VisualElementPackager.cs:217
06-05 12:01:23.171 I/MonoDroid(11205): at Xamarin.Forms.Platform.Android.VisualElementPackager.Load () [0x00000] in C:\BuildAgent3\work\ca3766cfc22354a1\Xamarin.Forms.Platform.Android\VisualElementPackager.cs:68
Hello,
Just wanted to know whether for a navigation page, the right side menu will be shown as complete height of the screen or is the side menu height start from below the navigation bar to the lower end?
I can only find a couple forum posts, but none give solution.
How can I call a SlidePopupView (as in sample with popoverview), from the FreshBasePageModel, when i don't have the showmenu and other functions in the class MenuContainerPage. I've tried to create my own Menucontainerpage with a base of FreshBasePageModel but haven't been able to do it because the ShoeMenuAction is Null when I attempt to call it assuming because that's part of the custom renderer.
Others describe using messaging, but I'm still not sure how to popup overtop of a model page.
Thank you for both FreshMvvm and SlideoverKit.
hi,
I would like to display a ListView using a SlidePopupView but I get this error:
I had also tried with an empty ListView.
Thanks.
When creat a listview into a popover get the error:
at Xamarin.Forms.Platform.Android.ListViewAdapter..ctor (Android.Content.Context context, Android.Widget.ListView realListView, Xamarin.Forms.ListView listView) [0x00096] in C:\BuildAgent2\work\ca3766cfc22354a1\Xamarin.Forms.Platform.Android\Renderers\ListViewAdapter.cs:56
at Xamarin.Forms.Platform.Android.ListViewRenderer.OnElementChanged (Xamarin.Forms.Platform.Android.ElementChangedEventArgs1[TElement] e) [0x00100] in C:\BuildAgent2\work\ca3766cfc22354a1\Xamarin.Forms.Platform.Android\Renderers\ListViewRenderer.cs:142 at Xamarin.Forms.Platform.Android.VisualElementRenderer
1[TElement].SetElement (TElement element) [0x000f4] in C:\BuildAgent2\work\ca3766cfc22354a1\Xamarin.Forms.Platform.Android\VisualElementRenderer.cs:193
at Xamarin.Forms.Platform.Android.VisualElementRenderer1[TElement].Xamarin.Forms.Platform.Android.IVisualElementRenderer.SetElement (Xamarin.Forms.VisualElement element) [0x00027] in C:\BuildAgent2\work\ca3766cfc22354a1\Xamarin.Forms.Platform.Android\VisualElementRenderer.cs:129 at Xamarin.Forms.Platform.Android.Platform.CreateRenderer (Xamarin.Forms.VisualElement element) [0x0001f] in C:\BuildAgent2\work\ca3766cfc22354a1\Xamarin.Forms.Platform.Android\Platform.cs:289 at Xamarin.Forms.Platform.Android.VisualElementPackager.AddChild (Xamarin.Forms.VisualElement view, Xamarin.Forms.Platform.Android.IVisualElementRenderer oldRenderer, Xamarin.Forms.Platform.Android.RendererPool pool, System.Boolean sameChildren) [0x00023] in C:\BuildAgent2\work\ca3766cfc22354a1\Xamarin.Forms.Platform.Android\VisualElementPackager.cs:74 at Xamarin.Forms.Platform.Android.VisualElementPackager.SetElement (Xamarin.Forms.VisualElement oldElement, Xamarin.Forms.VisualElement newElement) [0x00104] in C:\BuildAgent2\work\ca3766cfc22354a1\Xamarin.Forms.Platform.Android\VisualElementPackager.cs:207 at Xamarin.Forms.Platform.Android.VisualElementPackager.Load () [0x00000] in C:\BuildAgent2\work\ca3766cfc22354a1\Xamarin.Forms.Platform.Android\VisualElementPackager.cs:58 at Xamarin.Forms.Platform.Android.VisualElementRenderer
1[TElement].SetPackager (Xamarin.Forms.Platform.Android.VisualElementPackager packager) [0x00007] in C:\BuildAgent2\work\ca3766cfc22354a1\Xamarin.Forms.Platform.Android\VisualElementRenderer.cs:337
at Xamarin.Forms.Platform.Android.VisualElementRenderer1[TElement].SetElement (TElement element) [0x00111] in C:\BuildAgent2\work\ca3766cfc22354a1\Xamarin.Forms.Platform.Android\VisualElementRenderer.cs:196 at Xamarin.Forms.Platform.Android.VisualElementRenderer
1[TElement].Xamarin.Forms.Platform.Android.IVisualElementRenderer.SetElement (Xamarin.Forms.VisualElement element) [0x00027] in C:\BuildAgent2\work\ca3766cfc22354a1\Xamarin.Forms.Platform.Android\VisualElementRenderer.cs:129
at Xamarin.Forms.Platform.Android.Platform.CreateRenderer (Xamarin.Forms.VisualElement element) [0x0001f] in C:\BuildAgent2\work\ca3766cfc22354a1\Xamarin.Forms.Platform.Android\Platform.cs:289
at Xamarin.Forms.Platform.Android.VisualElementPackager.AddChild (Xamarin.Forms.VisualElement view, Xamarin.Forms.Platform.Android.IVisualElementRenderer oldRenderer, Xamarin.Forms.Platform.Android.RendererPool pool, System.Boolean sameChildren) [0x00023] in C:\BuildAgent2\work\ca3766cfc22354a1\Xamarin.Forms.Platform.Android\VisualElementPackager.cs:74
at Xamarin.Forms.Platform.Android.VisualElementPackager.SetElement (Xamarin.Forms.VisualElement oldElement, Xamarin.Forms.VisualElement newElement) [0x00104] in C:\BuildAgent2\work\ca3766cfc22354a1\Xamarin.Forms.Platform.Android\VisualElementPackager.cs:207
at Xamarin.Forms.Platform.Android.VisualElementPackager.Load () [0x00000] in C:\BuildAgent2\work\ca3766cfc22354a1\Xamarin.Forms.Platform.Android\VisualElementPackager.cs:58
at Xamarin.Forms.Platform.Android.VisualElementRenderer1[TElement].SetPackager (Xamarin.Forms.Platform.Android.VisualElementPackager packager) [0x00007] in C:\BuildAgent2\work\ca3766cfc22354a1\Xamarin.Forms.Platform.Android\VisualElementRenderer.cs:337 at Xamarin.Forms.Platform.Android.VisualElementRenderer
1[TElement].SetElement (TElement element) [0x00111] in C:\BuildAgent2\work\ca3766cfc22354a1\Xamarin.Forms.Platform.Android\VisualElementRenderer.cs:196
at Xamarin.Forms.Platform.Android.VisualElementRenderer1[TElement].Xamarin.Forms.Platform.Android.IVisualElementRenderer.SetElement (Xamarin.Forms.VisualElement element) [0x00027] in C:\BuildAgent2\work\ca3766cfc22354a1\Xamarin.Forms.Platform.Android\VisualElementRenderer.cs:129 at Xamarin.Forms.Platform.Android.Platform.CreateRenderer (Xamarin.Forms.VisualElement element) [0x0001f] in C:\BuildAgent2\work\ca3766cfc22354a1\Xamarin.Forms.Platform.Android\Platform.cs:289 at Xamarin.Forms.Platform.Android.VisualElementPackager.AddChild (Xamarin.Forms.VisualElement view, Xamarin.Forms.Platform.Android.IVisualElementRenderer oldRenderer, Xamarin.Forms.Platform.Android.RendererPool pool, System.Boolean sameChildren) [0x00023] in C:\BuildAgent2\work\ca3766cfc22354a1\Xamarin.Forms.Platform.Android\VisualElementPackager.cs:74 at Xamarin.Forms.Platform.Android.VisualElementPackager.SetElement (Xamarin.Forms.VisualElement oldElement, Xamarin.Forms.VisualElement newElement) [0x00104] in C:\BuildAgent2\work\ca3766cfc22354a1\Xamarin.Forms.Platform.Android\VisualElementPackager.cs:207 at Xamarin.Forms.Platform.Android.VisualElementPackager.Load () [0x00000] in C:\BuildAgent2\work\ca3766cfc22354a1\Xamarin.Forms.Platform.Android\VisualElementPackager.cs:58 at Xamarin.Forms.Platform.Android.VisualElementRenderer
1[TElement].SetPackager (Xamarin.Forms.Platform.Android.VisualElementPackager packager) [0x00007] in C:\BuildAgent2\work\ca3766cfc22354a1\Xamarin.Forms.Platform.Android\VisualElementRenderer.cs:337
at Xamarin.Forms.Platform.Android.VisualElementRenderer1[TElement].SetElement (TElement element) [0x00111] in C:\BuildAgent2\work\ca3766cfc22354a1\Xamarin.Forms.Platform.Android\VisualElementRenderer.cs:196 at Xamarin.Forms.Platform.Android.VisualElementRenderer
1[TElement].Xamarin.Forms.Platform.Android.IVisualElementRenderer.SetElement (Xamarin.Forms.VisualElement element) [0x00027] in C:\BuildAgent2\work\ca3766cfc22354a1\Xamarin.Forms.Platform.Android\VisualElementRenderer.cs:129
at Xamarin.Forms.Platform.Android.Platform.CreateRenderer (Xamarin.Forms.VisualElement element) [0x0001f] in C:\BuildAgent2\work\ca3766cfc22354a1\Xamarin.Forms.Platform.Android\Platform.cs:289
at SlideOverKit.Droid.SlideOverKitDroidHandler.b__14_0 (System.String key) [0x0009f] in C:\Users\Michael\Documents\SlideOverKit\SlideOverKit.Droid\SlideOverKitDroidHandler.cs:140
at SlideOverKit.MenuContainerPage.ShowPopup (System.String name) [0x00008] in C:\Users\Michael\Documents\SlideOverKit\SlideOverKit\MenuContainerPage.cs:54
at PortalParceiro.Mobile.Views.Usuarios.ParceirosServicosShowPage.<.ctor>b__3_0 () [0x00026] in D:\Projetos\PortalParceiro\PortalParceiro.Mobile\PortalParceiro.Mobile\PortalParceiro.Mobile\Views\Usuarios\ParceirosServicosShowPage.xaml.cs:41
at Xamarin.Forms.Command+<>c__DisplayClass3_0.<.ctor>b__0 (System.Object o) [0x00000] in C:\BuildAgent2\work\ca3766cfc22354a1\Xamarin.Forms.Core\Command.cs:73
at Xamarin.Forms.Command.Execute (System.Object parameter) [0x00000] in C:\BuildAgent2\work\ca3766cfc22354a1\Xamarin.Forms.Core\Command.cs:107
at Xamarin.Forms.MenuItem.Xamarin.Forms.IMenuItemController.Activate () [0x00010] in C:\BuildAgent2\work\ca3766cfc22354a1\Xamarin.Forms.Core\MenuItem.cs:93
at Xamarin.Forms.Platform.Android.GenericMenuClickListener.OnMenuItemClick (Android.Views.IMenuItem item) [0x00000] in C:\BuildAgent2\work\ca3766cfc22354a1\Xamarin.Forms.Platform.Android\GenericMenuClickListener.cs:18
at Android.Views.IMenuItemOnMenuItemClickListenerInvoker.n_OnMenuItemClick_Landroid_view_MenuItem_ (System.IntPtr jnienv, System.IntPtr native__this, System.IntPtr native_item) [0x00011] in /Users/builder/data/lanes/3511/ce955cc0/source/monodroid/src/Mono.Android/platforms/android-23/src/generated/Android.Views.IMenuItem.cs:295
at (wrapper dynamic-method) System.Object:42a5319d-9066-484e-9b32-988a535e9f2c (intptr,intptr,intptr)
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.