Git Product home page Git Product logo

slideoverkit's People

Contributors

alecdtucker avatar jessejiang0214 avatar rid00z avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

slideoverkit's Issues

Any pending releases? 2016 was the last

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 :)

Using Gestures on SlideMenuView - how to close

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).

Popup Page throwing Object Reference Error in Android Platform

Hi,
I have downloaded the Latest SlidOverKit Samples and Deployed the same in iOS and Android Platform.

  1. The sample is working fine in iOS platform but throwing Object Reference Error in Android Platform .
  2. Suggest on how to pass Observable Collections and Objects to Popup Page to bind the controls?
  3. While saving on the popup button, how to update the parent page details (which opened the popup)?

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:

  • Windows 8.1 Pro (64-bit)
  • Vs 2015 Enterprise
  • Visual studio Xamarin Version- 4.1.1.3
  • Xamarin Android - 6.1.1.1

How to get slide menu views exact height in Xamarin.Forms for Android platform

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.

Keyboard Overlaps on Entry when using the MenuContainerPage

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.

Empty Listview gives Null Reference Renderer Error

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.VisualElementRenderer1[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.VisualElementRenderer1[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.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

How to change DraggerButtonHeight from outside constructor?

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?

Error to open listview into a PopOver.

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.VisualElementRenderer1[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.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.VisualElementRenderer1[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.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.VisualElementRenderer1[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.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.VisualElementRenderer1[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 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)

Upgrade Xamarin version

Hi there,

Have any plans to upgrade to the latest Xamarin version? What about using netstandard?

Thanks for the great work with this project.

Variable height

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.

Cannot access a disposed object. Object name: 'Our.Droid.Renderers.MenuContainerPageDroidRenderer'.

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)

Multiple slideovers on same page

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?

Page on UWP stays blank (light grey) on UWP

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

Right To Left (RTL) Menu Query

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.

Thank You
rtlmenu1
rtlmenu2

Adding menus to pages defined with xaml?

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?

Make The Shadow Not Clickable

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.

Shared project

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

Add Gestores animation to ShowMenu()

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!

need help

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?

Latest library is not supporting iOS v9.3.2

slideroverkit_issues
Hi,
I m unable to use the library for iOS v9.3.2.
It is working till v9.3.1.
Can u update the library for latest OS support.

Also i am getting ~387 errors in Resource.Designer.cs, as snap attached.

ShowMenuAction targeting null

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>

`

Right side menu view

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?

Entry on SlideMenuView

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?

How to use the drop down menu when using a TabbedPage Control

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.

Open right side master from ViewModel

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.

QuickInnerMenuView Dynamic Image

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?

ObjectDisposedException in Android renderer

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)

Menu Container Page with 2 slide menus

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?

LeftToRight or RightToLeft push functionality

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.

Xamarin.Froms Prism Issue

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.

dynamically set HeightRequest for SlideMenu

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

Fresh and SlideoverKit

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.

BottomToUp sliding menu toggle superpose bottomBar on iOS

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

SlideMenu is not displayed on UWP

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.

SlideMenuView Visibility Toggle?

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.

Change SlideMenu dynamically? Should work

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?

MenuOrientation.RightToLeft

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?

How to bind command on slide menu to Page's ViewModel

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?

Wrong height of SlideMenuView when it used for child page in TabbedPage

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!

screenshot_20170516-103015

Error showing menu - cannot access a disposed object.

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?

Right Side menu view in Android is not shown in complete height

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

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.